Submission #757812

#TimeUsernameProblemLanguageResultExecution timeMemory
757812taherSure Bet (CEOI17_sure)C++17
100 / 100
76 ms3536 KiB
#include <bits/stdc++.h> using namespace std; void update(double &best , double even , double odd){ best = max(best , min(even , odd)); } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector<double> one(n) , two(n); for(int i = 0 ; i < n ; i++){ cin >> one[i] >> two[i]; } sort(one.rbegin(),one.rend()); sort(two.rbegin(),two.rend()); double even = 0 , odd = 0; double best = 0; int i = 0 , j = 0; while(i < n || j < n){ if(even < odd && i < n){ even += one[i] - 1; odd--; update(best , even , odd); i++; } else if(even >= odd && j < n){ odd += two[j] - 1; even--; update(best , even , odd); j++; } else break; } cout << setprecision(4) << fixed << best << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...