Submission #920191

#TimeUsernameProblemLanguageResultExecution timeMemory
920191Alihan_8Sure Bet (CEOI17_sure)C++17
0 / 100
0 ms344 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define ar array #define pb push_back #define ln '\n' #define int long long using i64 = long long; template <class F, class _S> bool chmin(F &u, const _S &v){ bool flag = false; if ( u > v ){ u = v; flag |= true; } return flag; } template <class F, class _S> bool chmax(F &u, const _S &v){ bool flag = false; if ( u < v ){ u = v; flag |= true; } return flag; } #define double long double signed main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; vector <double> a(n), b(n); for ( int i = 0; i < n; i++ ){ cin >> a[i] >> b[i]; } sort(all(a), greater <double> ()); sort(all(b), greater <double> ()); b.pb(0), a.pb(0); vector <double> pf(n + 1); for ( int i = 0; i < n; i++ ){ pf[i + 1] = pf[i] + b[i]; } int j = 0; double opt = 0, cnt = 0, mx = 0; for ( int i = 0; i <= n; i++ ){ while ( j < n && pf[j] <= cnt ){ chmax(mx, pf[j] - j); j++; } chmax(opt, mx - i); if ( pf[j] >= cnt ){ chmax(opt, cnt - (i + j)); } cnt += a[i]; } cout << fixed << setprecision(4) << opt; cout << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...