Submission #89057

#TimeUsernameProblemLanguageResultExecution timeMemory
89057LkvatashidzeSchools (IZhO13_school)C++17
5 / 100
455 ms17068 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 z, y; cin >> z >> y; v.push_back({z,y}); x.insert({(z-y),-y}); } 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()); x.erase(x.begin()); if (p.first==v[k].first-v[k].second && p.second+v[k].second==0) { ans+=v[k].second; s--; } else { ans+=v[k].first; m--; } } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...