Submission #1152711

#TimeUsernameProblemLanguageResultExecution timeMemory
1152711arsen23Sure Bet (CEOI17_sure)C++20
0 / 100
1 ms320 KiB
#include <bits/stdc++.h> #define all(v) v.begin(), v.end() #define pb push_back #define F first #define S second #define in insert using namespace std; typedef long long ll; typedef unsigned long long ull; const int N = 1e6 + 123; const int P = 320; const int mod = 1e9 + 7; ll n, m, k; double a[N], b[N]; ll sum[N]; double pref[N]; vector <pair <double, double>> v; multiset <double> ms; void salemkhan() { cin >> n; for(int i = 1; i <= n; i++) { cin >> a[i] >> b[i]; v.pb({a[i], b[i]}); ms.insert(-b[i]); } cout << fixed; cout.precision(5); double ans = 0; sort(all(v)); reverse(all(v)); double cur = 0; double cnt = 0; for(int i = 0; i < n - 1; i++) { cur += v[i].F; cnt += v[i].S; ms.erase(ms.find(-v[i].S)); ll ptr = cur - (i + 1); if(!ptr) continue; ll l = 0; double res = 0; for(auto x : ms) { l++; if(l > ptr) break; res += -x; double p1 = res; double p2 = cur; if(p1 > p2) { swap(p1, p2); } if(ans < p1 - (l + i + 1)) { ans = p1 - (l + i + 1); } } } cout << ans << '\n'; } // 28 37 48 49 55 56 57 58 67 9 // 9 + 1 + int main() { //freopen("knight.in", "r", stdin); //freopen("knight.out", "w", stdout); ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll tt = 1; //cin >> tt; while(tt--) { salemkhan(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...