Submission #1225772

#TimeUsernameProblemLanguageResultExecution timeMemory
1225772lizi14Sure Bet (CEOI17_sure)C++20
0 / 100
0 ms320 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); } if(v1.size()==0 || v2.size()==0){ cout<<0<<endl; exit(0); } 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=-1e9; int ka=0; while(ha==0){ if(i<0 || j<0){ break; } ans1+=v1[i]; ka++; ans2+=v2[j]; ka++; if(v1[i]>v2[j]){ //int bati=v2[j]; while(int(ans2)!=int(ans1)){ j--; if(j<0){ ha=1; break; } //bati+=v2[j]; ans2+=v2[j]; ka++; ans=max(ans,min(ans1-ka,ans2-ka)); } } else{ while(int(ans1)!=int(ans2)){ i--; if(i<0){ ha=1; break; } ans1+=v1[i]; ka++; ans=max(ans,min(ans1-ka,ans2-ka)); } } //cout<<ans1<<" "<<ans2<<endl; ans=max(ans,min(ans1-ka,ans2-ka)); } // for(auto g:v1){ // cout<<g<<" "; // } // cout<<endl; // for(auto g:v2){ // cout<<g<<" "; // } cout<<fixed; cout<<setprecision(4); cout<<max(ans,0.0000)<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...