Submission #1163609

#TimeUsernameProblemLanguageResultExecution timeMemory
1163609justin271828Akcija (COCI21_akcija)C++20
0 / 110
51 ms460 KiB
#include <bits/stdc++.h> using namespace std; #define l2 long long #define ii pair<l2, l2> int main() { l2 n, k; cin >> n >> k; ii arr[n]; for (l2 i = 0; i < n; i++) { l2 w, d; cin >> w >> d; arr[i] = {0-d, w};} sort(arr, arr+n); l2 count = 0; priority_queue<l2, vector<l2>, greater<l2>> pq; multiset<ii> s; l2 ans = 0; l2 number = 0; for (l2 i = 2000; i > 0; i--) { while (count < n && 0-arr[count].first >= i) { pq.push(arr[count++].second); } if (!pq.empty()) { ans += pq.top(); number++; pq.pop(); } } cout << number << " " << ans << "\n"; priority_queue<l2, vector<l2>, greater<l2>> pq2; for (l2 j = 0; j < n; j++) { while (!pq2.empty()) pq2.pop(); count = 0; number = 0; ans = 0; for (l2 i = 2000; i > 0; i--) { while (count < n && 0-arr[count].first >= i) { if (count != j) pq2.push(arr[count].second); count++; } if (!pq2.empty()) { ans += pq2.top(); number++; pq2.pop(); } } s.insert({0-number, ans}); } multiset<ii>::iterator it = s.begin(); it++; ii p = (*it); cout << 0-p.first << " " << p.second; 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...