Submission #1160466

#TimeUsernameProblemLanguageResultExecution timeMemory
1160466terrifierSure Bet (CEOI17_sure)C++20
100 / 100
53 ms1864 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define niga ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) #define yes cout<<"YES\n" #define no cout<<"NO\n" #define F first #define S second #define sz() size() #define pb push_back #define pf push_front #define all(a) a.begin(), a.end() #define bll(a) a.rbegin(), a.rend(); #define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout) /* a u t h o r (a b a); ──▒▒▒▒▒────▒▒▒▒▒────▒▒▒▒▒────▄████▄───── ─▒─▄▒─▄▒──▒─▄▒─▄▒──▒─▄▒─▄▒──███▄█▀─────── ─▒▒▒▒▒▒▒──▒▒▒▒▒▒▒──▒▒▒▒▒▒▒─▐████───────── ─▒▒▒▒▒▒▒──▒▒▒▒▒▒▒──▒▒▒▒▒▒▒──█████▄─────── ─▒─▒─▒─▒──▒─▒─▒─▒──▒─▒─▒─▒───▀████▀───── */ const int N = 2e5 + 9, mod = 1e9 + 7; int n; double a[N],b[N]; void solve(){ cin >> n; for (int i=1;i<=n;i++)cin >> a[i] >> b[i]; sort(a + 1,a + n + 1, greater<double>()); sort(b + 1,b + n + 1, greater<double>()); for (int i = 1; i <= n; i++){a[i] += a[i - 1];b[i] += b[i - 1];} double res = 0; for (int i = 0; i <= n; i++){ ll l = 0, r = n; while (l <= r){ ll md = (l + r) >> 1; ll x = a[i] - i - md, y = b[md] - i - md; if (x > y){ l = md + 1; }else{ r = md - 1; } } if (l <= n)res = max(res, min(a[i] - l - i, b[l] - i - l)); if (r >= 0)res = max(res, min(a[i] - r - i, b[r] - r - i)); } cout << fixed << setprecision(4) << res <<'\n'; } signed main(){ niga; int aba = 1; // file("name"); // cin >> aba; while (aba --){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...