Submission #1019637

#TimeUsernameProblemLanguageResultExecution timeMemory
1019637overwatch9Sure Bet (CEOI17_sure)C++17
0 / 100
1 ms600 KiB
#include <bits/stdc++.h> using namespace std; using dbl = double; int main() { int n; cin >> n; vector <pair <dbl, dbl>> nums(n); for (int i = 0; i < n; i++) cin >> nums[i].first >> nums[i].second; dbl ans = 0; for (int i = 0; i < (1 << n); i++) { dbl l = 0; vector <dbl> pts; for (int j = 0; j < n; j++) { if (i & (1 << j)) l += nums[j].first; else pts.push_back(nums[j].second); } sort(pts.begin(), pts.end(), greater <dbl> ()); int cnt = __builtin_popcount(i); dbl r = 0; for (auto j : pts) { r += j; cnt++; if (r - l >= 0.00000000001) break; } if (min(l, r) - cnt - ans > 0.00000000001) ans = min(l, r) - cnt; } cout << fixed << setprecision(4) << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...