P4653 [CEOI 2017] Sure Bet

点击查看代码
#include<bits/stdc++.h>
using namespace std;

const int N=1e5+10;
double a[N],b[N];
int n;

int main()
{
    ios::sync_with_stdio(0),cin.tie(0);
    cin>>n;

    for(int i=1;i<=n;i++) cin>>a[i]>>b[i];

    sort(a+1,a+n+1,greater<double>());
    sort(b+1,b+n+1,greater<double>());

    int i=1,j=1;
    double sa=0,sb=0;
    double ans=0;
    while(i<=n||j<=n){
        if(i<=n&&(j>n||sa<=sb)){
            sa+=a[i];
            i++;
        }else if(j<=n&&(i>n||sa>=sb)){
            sb+=b[j];
            j++;
        }
        ans=max(ans,min(sa,sb)-i-j+2);
    }

    cout<<fixed<<setprecision(4)<<ans<<endl;

    return 0;
}
posted @ 2026-02-20 20:42  AnoSky  阅读(1)  评论(0)    收藏  举报