Submission #491004

#TimeUsernameProblemLanguageResultExecution timeMemory
491004hollwo_pelwSure Bet (CEOI17_sure)C++17
0 / 100
0 ms332 KiB
#include <bits/stdc++.h> using namespace std; const int N = 1e5 + 5; #define int long long int n, a[N], prea[N], b[N], preb[N]; signed main() { cin.tie(0), cout.tie(0) -> sync_with_stdio(0); cin >> n; for (int i = 1; i <= n; i++) { double x, y; cin >> x >> y; a[i] = (int) (x * 10000); b[i] = (int) (y * 10000); // cout << a[i] << b[i] << '\n'; } sort(a + 1, a + n + 1); sort(b + 1, b + n + 1); reverse(a + 1, a + n + 1); reverse(b + 1, b + n + 1); vector<int> allp(1, 0); for (int i = 1; i <= n; i++) { prea[i] = prea[i - 1] + a[i]; preb[i] = preb[i - 1] + b[i]; allp.push_back(prea[i]); allp.push_back(preb[i]); } sort(allp.begin(), allp.end()); allp.erase(unique(allp.begin(), allp.end()), allp.end()); int i = 0, j = 0, res = 0; for (auto v : allp) { while (i <= n && prea[i] < v) i ++; while (j <= n && preb[j] < v) j ++; if (i > n || j > n) break; res = max(res, v - (i + j) * 10000); } double ans = res / 10000.0; cout << fixed << setprecision(4) << ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...