Submission #1225834

#TimeUsernameProblemLanguageResultExecution timeMemory
1225834lizi14Sure Bet (CEOI17_sure)C++20
0 / 100
0 ms324 KiB
#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; if(j>=k){ v1.push_back(j); } else 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; while(true){ if(i<0 || j<0){ break; } ans1+=v1[i]; ka++; ans2+=v2[j]; ka++; if(v1[i]>v2[j]){ //int bati=v2[j]; while(ans2<ans1){ j--; if(j<0){ break; } //bati+=v2[j]; ans2+=v2[j]; ka++; ans=max(ans,min(ans1-ka,ans2-ka)); } i--; } if(v1[i]<=v2[j] ){ while(ans1<ans2){ i--; if(i<0){ break; } ans1+=v1[i]; ka++; ans=max(ans,min(ans1-ka,ans2-ka)); } j--; } ans=max(ans,min(ans1-ka,ans2-ka)); } printf("%.4lf",(double)ans); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...