Submission #860932

#TimeUsernameProblemLanguageResultExecution timeMemory
860932GordonRemzi007Sure Bet (CEOI17_sure)C++17
100 / 100
115 ms3896 KiB
#include <iostream> #include <vector> #include <algorithm> #include <iomanip> using namespace std; bool srt(double a, double b) { return a > b; } int main() { int n, f = 0, s = 0; double fsum = 0, ssum = 0, res = 0; cin >> n; vector<double> a(n), b(n); for(int i = 0; i < n; i++) cin >> a[i] >> b[i]; sort(a.begin(), a.end(), srt); sort(b.begin(), b.end(), srt); //Sa <= Sb while(f < n && s < n) { while(fsum <= ssum && f < n) { fsum+=a[f]; f++; if(fsum <= ssum) { res = max(res, fsum-f-s); } } while(fsum > ssum && s < n) { ssum+=b[s]; s++; } if(fsum <= ssum) res = max(res, fsum-f-s); } //Sb <= Sa f = 0, s = 0, fsum = 0, ssum = 0; while(f < n && s < n) { while(ssum <= fsum && s < n) { ssum+=b[s]; s++; if(ssum <= fsum) res = max(res, ssum-f-s); } while(ssum > fsum && f < n) { fsum+=a[f]; f++; } if(ssum <= fsum) res = max(res, ssum-f-s); } cout << fixed << setprecision(4) << res << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...