Submission #1163547

#TimeUsernameProblemLanguageResultExecution timeMemory
1163547siewjhAkcija (COCI21_akcija)C++20
90 / 110
5094 ms32856 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int n, k; cin >> n >> k; vector<pair<int, ll>> vec(n); for (int i = 0; i < n; i++){ ll c; int t; cin >> c >> t; vec[i] = {t, c}; } sort(vec.begin(), vec.end()); vector<multiset<ll>> vals(n + 1); vals[0].insert(0); for (auto [t, c] : vec){ for (int i = t - 1; i >= 0; i--){ for (auto it = vals[i].begin(); it != vals[i].end(); it++){ if (vals[i + 1].size() == k && *(vals[i + 1].rbegin()) <= *it + c) break; vals[i + 1].insert(*it + c); if (vals[i + 1].size() > k) vals[i + 1].erase(prev(vals[i + 1].end())); } } } int cnt = 0; for (int i = n; i >= 0; i--) for (ll x : vals[i]){ cout << i << ' ' << x << '\n'; if (++cnt == k) 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...