#include<bits/stdc++.h>
using namespace std;
signed main(){
int n;
cin >> n;
vector<pair<double, double>> a(n);
for(int i=0; i<n; i++){
cin >> a[i].first >> a[i].second;
}
vector<double> f;
vector<double> s;
for(int i=0; i<n; i++){
f.push_back(a[i].first);
s.push_back(a[i].second);
}
sort(f.begin(), f.end());
reverse(f.begin(), f.end());
sort(s.begin(), s.end());
reverse(s.begin(), s.end());
int cnt1=0;
int cnt2=0;
double sum1=0;
double sum2=0;
double ans=0;
while(cnt1<n and cnt2<n){
if(cnt1==n){
sum2+=s[cnt2];
cnt2++;
}else if(cnt2==n){
sum1+=f[cnt1];
cnt1++;
}else if(sum1<=sum2){
sum1+=f[cnt1];
cnt1++;
}else{
sum2+=s[cnt2];
cnt2++;
}
ans=max(ans, min(sum1, sum2)-cnt1-cnt2);
}
cout << fixed << setprecision(4) << ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |