Submission #1225866

#TimeUsernameProblemLanguageResultExecution timeMemory
1225866mariamtsagareliSure Bet (CEOI17_sure)C++20
100 / 100
48 ms3400 KiB
#include <bits/stdc++.h>
using namespace std;
int main(){
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    int n;
    cin>>n;
    vector<double>a(n),b(n);
    for(int i=0;i<n;i++)cin>>a[i]>>b[i];
    sort(a.begin(),a.end(),greater<double>());
    sort(b.begin(),b.end(),greater<double>());
    vector<double>A(n+1,0),B(n+1,0);
    for(int i=1;i<=n;i++){
        A[i]=A[i-1]+a[i-1];
        B[i]=B[i-1]+b[i-1];
    }
    double r=0;
    for(int i=0;i<=n;i++){
        int j1 = int(lower_bound(B.begin(), B.end(), A[i]) - B.begin());
        for(int dj=-1; dj<=0; dj++){
            int j = j1 + dj;
            if(j<0||j>n) continue;
            double p = min(A[i], B[j]) - (i + j);
            if(p>r) r=p;
        }
    }
    if(r<0) r=0;
    cout<<fixed<<setprecision(4)<<r<<"\n";
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...