Submission #1163460

#TimeUsernameProblemLanguageResultExecution timeMemory
1163460gelastropodAkcija (COCI21_akcija)C++20
10 / 110
5080 ms525840 KiB
#include <bits/stdc++.h> using namespace std; #define int long long signed main() { int n, k, a, b; cin >> n >> k; vector<vector<int>> vals(n + 1, vector<int>()); vector<pair<int, int>> valss; for (int i = 0; i < n; i++) { cin >> a >> b; vals[b].push_back(a); valss.push_back({b, a}); } sort(valss.begin(), valss.end()); for (int i = 1; i <= n; i++) sort(vals[i].begin(), vals[i].end()); vector<pair<int, int>> anss; for (int i = 0; i < (1LL << n); i++) { pair<int, int> crnt = {0, 0}; bool works = true; for (int j = 0; j < n; j++) { if ((i & (1LL << j))) { if (-crnt.first < valss[j].first) { crnt.first--; crnt.second += valss[j].second; } else { works = false; break; } } } if (!works) continue; anss.push_back(crnt); } sort(anss.begin(), anss.end()); for (int i = 0; i < k; i++) { cout << -anss[i].first << ' ' << anss[i].second << '\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...