Submission #89051

#TimeUsernameProblemLanguageResultExecution timeMemory
89051LkvatashidzeSchools (IZhO13_school)C++17
5 / 100
419 ms17176 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; multiset < pair < int, int > > x; vector < pair < int, int > > v; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, m, s; cin >> n >> m >> s; for (int k=1; k<=n; k++) { int f, s; cin >> f >> s; v.push_back({f,s}); x.insert({(s-f),s}); } sort(v.begin(),v.end()); reverse(v.begin(),v.end()); ll ans=0; for (int k=0; k<n; k++) { if (s==0 && m==0) break; if (s==0) { ans+=v[k].first; m--; continue; } if (m==0) { while (s) { ans+=(*x.begin()).second; s--; x.erase(x.begin()); } continue; } pair < int, int > p=(*x.begin()); if (p.first==-v[k].first+v[k].second && p.second==v[k].second) { ans+=v[k].second; s--; x.erase(x.begin()); } else { ans+=v[k].first; m--; } } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...