Submission #94251

#TimeUsernameProblemLanguageResultExecution timeMemory
942511KhanSure Bet (CEOI17_sure)C++14
100 / 100
85 ms3704 KiB
/// 1n the name of GOD #include <bits/stdc++.h> using namespace std; #define ko exit(0); #define nl '\n' #define ios ios_base :: sync_with_stdio(0), cin.tie(0), cout.tie(0); #define sz(s) (int)s.size() #define all(s) s.begin(), s.end() #define oll(s, n, c) (s) + (c), s + (n) + c #define pb push_back #define bb begin() #define ee end() #define ff first #define ss second #define pii pair<int, int> //#define for(i, l, r) for(int (i) = (l); i <= (r); ++i) typedef long long ll; typedef double db; const int N = 1e6 + 777; const int M = INT_MAX; int n; double a[N], b[N]; double c, d; int main(){ ios cin >> n; for(int i = 1; i <= n; ++i){ cin >> a[i] >> b[i]; } sort(oll(a, n, 1)); sort(oll(b, n, 1)); reverse(oll(a, n, 1)); reverse(oll(b, n, 1)); int id = 0; int di = 0; double ans = 0; for(int i = 1; i <= 2 * n; ++i){ if(c <= d){ id++; c += (double)a[id]; } else if(d < c){ di++; d += (double)b[di]; } ans = (double)max((db)ans, min((db)c - (double)i, (db)d - (double)i)); } cout << fixed << setprecision(4) << (double)ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...