Submission #1216340

#TimeUsernameProblemLanguageResultExecution timeMemory
1216340trimkusLet's Win the Election (JOI22_ho_t3)C++20
11 / 100
2595 ms424 KiB
#include <bits/stdc++.h> using namespace std; using ld = long double; int main() { int n, k; cin >> n >> k; vector<array<ld, 2>> a(n); for (int i = 0; i < n; ++i) { for (int j = 0; j < 2; ++j) { cin >> a[i][j]; } } vector<int> ord(n); iota(begin(ord), end(ord), 0); ld res = LLONG_MAX; auto gen = [&](auto& gen, int i, ld tim, ld pick, int have, vector<int>& ord) -> void { if (i == n) { if (have >= k) { //~ for (auto& u : ord) { //~ cerr << u << " "; //~ } //~ cerr << " = "; //~ cerr << tim << endl; res = min(res, tim); } return; } int j = ord[i]; gen(gen, i + 1, tim, pick, have, ord); gen(gen, i + 1, tim + a[j][0] / pick, pick, have + 1, ord); if (a[j][1] != -1) gen(gen, i + 1, tim + a[j][1] / pick, pick + 1, have + 1, ord); }; do { gen(gen, 0, 0, 1, 0, ord); } while (next_permutation(begin(ord), end(ord))); cout << 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...