Submission #1264092

#TimeUsernameProblemLanguageResultExecution timeMemory
1264092rtriOlympiads (BOI19_olympiads)C++20
44 / 100
2095 ms21356 KiB
#include <bits/stdc++.h> using namespace std; int n, k, c; vector<vector<int>> players; vector<int> solve(bitset<500> &used, int left, int first) { if (left == 0) { int score = 0; for (int i = 0; i < k; i++) { int best = 0; for (int j = 0; j < n; j++) if (used[j]) best = max(best, players[j][i]); score += best; } return {score}; } vector<int> ans; for (int i = first; i < n; i++) { used[i] = 1; for (int subans : solve(used, left - 1, i + 1)) ans.push_back(subans); used[i] = 0; } return ans; } int main() { cin >> n >> k >> c; for (int i = 0; i < n; i++) { vector<int> player(k); for (int j = 0; j < k; j++) cin >> player[j]; players.push_back(player); } bitset<500> sub(0); vector<int> scores = solve(sub, k, 0); sort(scores.rbegin(), scores.rend()); cout << scores[c - 1] << endl; 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...