제출 #1221503

#제출 시각아이디문제언어결과실행 시간메모리
1221503MrAndriaSure Bet (CEOI17_sure)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h>
using namespace std;
#define ff first;
#define ss second
#define pb push_back
//#define int long long
int n,l,r;
long double pref[1000005][3],ans,a[1000005],b[1000005];
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);
    reverse(a+1,a+n+1);
    reverse(b+1,b+n+1);
    for(int i=1;i<=n;i++){
        pref[i][0]=pref[i-1][0]+a[i];
        pref[i][1]=pref[i-1][1]+b[i];
    }
    l=0;
    r=0;
    ans=0;
    pref[n+1][0]=1e9;
    pref[n+1][1]=1e9;
    
    for(int i=1;i<=2*n;i++){
        if(pref[l][0]<=pref[r][1]){
            l++;
        }else{
            r++;
        }
        // cout<<i<<" "<<l<<" "<<r<<" "<<pref[l][0]<<" "<<pref[r][1]<<endl;
        ans=max(ans,min(pref[l][0],pref[r][1])-i);
    }
    cout<<fixed<<setprecision(4)<<ans<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...