Submission #1258083

#TimeUsernameProblemLanguageResultExecution timeMemory
1258083chikien2009Let's Win the Election (JOI22_ho_t3)C++20
100 / 100
100 ms448 KiB
#include <bits/stdc++.h> using namespace std; void setup() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); } int n, m; double f[501], res = 1e18; pair<int, int> p[501]; int main() { setup(); cin >> n >> m; for (int i = 0; i < n; ++i) { cin >> p[i].second >> p[i].first; p[i].first = (p[i].first == -1 ? 1e9 : p[i].first); } sort(p, p + n); for (int i = 0; i < m; ++i) { fill_n(f, m + 1, 1e18); f[0] = 0; for (int j = 0; j < n; ++j) { for (int k = m - i, x; k >= 0; --k) { if (k < m - i) { f[k + 1] = min(f[k + 1], f[k] + (double)p[j].second / (i + 1)); } x = j - k + 1; if (0 < x && x <= i) { f[k] += (double)p[j].first / x; } } } res = min(res, f[m - i]); } cout << fixed << setprecision(6) << res; 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...