#include<bits/stdc++.h>
#define int long long
#define rep(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int N=100005;
double a[N],b[N];
int n,c1,c2;
double s1,s2,res;
signed main(){
cin>>n;
rep(i,1,n) cin>>a[i]>>b[i];
sort(a+1,a+n+1);
reverse(a+1,a+n+1);
sort(b+1,b+n+1);
reverse(b+1,b+n+1);
while(true){
if(c1>=n&&c2>=n){
break;
}
if(c1>=n){
c2++;
s2+=b[c2];
}else{
if(c2>=n){
c1++; s1+=a[c1];
}
if(s1<=s2){
c1++; s1+=a[c1];
}
else{
c2++; s2+=b[c2];
}
}
res=max(res,min(s1,s2)-c1-c2);
}
cout<<fixed<<setprecision(4)<<res<<'\n';
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |