Submission #220141

#TimeUsernameProblemLanguageResultExecution timeMemory
220141MKopchevSure Bet (CEOI17_sure)C++14
100 / 100
196 ms3576 KiB
#include<bits/stdc++.h>
using namespace std;
const int nmax=1e5+42;
int n;
double a[nmax],b[nmax];
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)cin>>a[i]>>b[i];

    sort(a+1,a+n+1);
    sort(b+1,b+n+1);

    int i=n,j=n;

    double sum_a=0,sum_b=0,ret=0;

    while(i>=1||j>=1)
    {
        if(i==0){sum_b+=b[j];j--;}
        else if(j==0){sum_a+=a[i];i--;}
        else
        {
            if(sum_a<sum_b){sum_a+=a[i];i--;}
            else {sum_b+=b[j];j--;}
        }
        ret=max(ret,min(sum_a,sum_b)-(n-i)-(n-j));

        //cout<<sum_a<<" "<<sum_b<<" "<<i<<" "<<j<<" "<<min(sum_a,sum_b)-(n-i)-(n-j)<<endl;
    }

    printf("%.4f",ret);
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...