#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[100005][3],ans,a[100005],b[100005];
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;
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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |