Submission #1216359

#TimeUsernameProblemLanguageResultExecution timeMemory
1216359trimkusLet's Win the Election (JOI22_ho_t3)C++20
23 / 100
2596 ms444 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; using ld = long double; int main() { ios::sync_with_stdio(0); cin.tie(0); int n, k; cin >> n >> k; //~ cerr << "A\n"; vector<array<ld, 2>> a(n); for (int i = 0; i < n; ++i) { for (int j = 0; j < 2; ++j) { cin >> a[i][j]; } } ld res = LLONG_MAX; for (int i = 0; i < (1 << n); ++i) { vector<ld> pick1, pick2; for (int j = 0; j < n; ++j) { if (i >> j & 1) pick1.push_back(a[j][1]); else pick2.push_back(a[j][0]); } sort(begin(pick1), end(pick1)); sort(begin(pick2), end(pick2)); if (pick1.size() > 0 && pick1[0] == -1) continue; ld tim = 0; ld mult = 1; for (int i = 0; i < min(k, (int)pick1.size()); ++i) { tim += pick1[i] / mult; mult += 1; } for (int i = 0; i < k - (int)pick1.size(); ++i) { //~ cerr << i << " " << pick2.size() << endl; tim += pick2[i] / mult; } //~ cerr << tim << endl; res = min(res, tim); } cout << fixed << setprecision(3) << res << "\n"; }
#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...