#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
vector<double>v1,v2;
for(int i=0; i<n; i++){
double j,k;
cin>>j>>k;
v1.push_back(j);
v2.push_back(k);
}
sort(v1.begin(),v1.end());
sort(v2.begin(),v2.end());
int i=v1.size()-1,j=v2.size()-1;
//int ha=0;
double ans1=0,ans2=0;
double ans=0.0000;
int ka=0;
//i--;j--;
while(true){
if(i<0 && j>=0){
ans2+=v2[j];
ka++;
j--;
ans=max(ans,min(ans1-ka,ans2-ka));
continue;
//ans=max(ans,min(ans1-ka,ans2-ka));
}
else if(i>=0 && j<0){
ans1+=v1[i];
ka++;
i--;
ans=max(ans,min(ans1-ka,ans2-ka));
continue;
}
else if(i<0 && j<0)break;
if(ans1>ans2){
ans2+=v2[j];
ka++;
j--;
}
else if(ans1<=ans2){
ans1+=v1[i];
ka++;
i--;
}
//ans=max(ans,ans1-ka);
//cout<<ans1<<" "<<ans2<<endl;
ans=max(ans,min(ans1-ka,ans2-ka));
}
printf("%.4lf",(double)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... |