Submission #1182730

#TimeUsernameProblemLanguageResultExecution timeMemory
1182730william889Let's Win the Election (JOI22_ho_t3)C++20
100 / 100
104 ms476 KiB
#include<bits/stdc++.h> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, k; cin >> n >> k; vector<pair<double, double>> v(n); for (int i = 0; i < n; i++) { cin >> v[i].second >> v[i].first; if (v[i].first == -1) v[i].first = 1e9; } sort(v.begin(), v.end()); double ans = 2e18; for (int c = 0; c < k; c++) { int mx = k - c; vector<double> dp(mx + 1, 1e18); dp[0] = 0; for (int i = 0; i < n; i++) { for (int e = mx; e >= 0; e--) { if (e != mx) dp[e + 1] = min(dp[e + 1], dp[e] + v[i].second / (1.0 + c)); int id = i + 1 - e; if (id <= 0) continue; if (id <= c) dp[e] += v[i].first / (double)id; } } ans = min(ans, dp[mx]); } cout << fixed << setprecision(9) << ans << "\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...