Submission #89088

#TimeUsernameProblemLanguageResultExecution timeMemory
89088LkvatashidzeSchools (IZhO13_school)C++17
5 / 100
2094 ms18032 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; multiset < pair < ll, ll > > x; vector < pair < ll, ll > > v; multiset < pair < ll, ll > > st; ll n, m, s, ans; int main() { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll n, m, s; cin >> n >> m >> s; for (ll k=1; k<=n; k++) { ll z, y; cin >> z >> y; v.push_back({z,y}); } sort(v.begin(),v.end()); reverse(v.begin(),v.end()); for (ll k=0; k<m; k++) ans+=v[k].first; for (ll k=m; k<n; k++) { st.insert({v[k].second,v[k].first}); } while (st.size()>s) { st.erase(st.begin()); } set < pair < ll, ll > > ::iterator st_it; for (st_it=st.begin(); st_it!=st.end(); st_it++) ans+=(*st_it).first; set < pair < ll, ll > > st1; while (!st.empty()) { st1.insert({-(*st.begin()).first,(*st.begin()).second}); st.erase(st.begin()); } for (ll k=1; k<=m; k++) { set < pair <ll, ll > > ::iterator st_it; for (st_it=st1.begin(); st_it!=st1.end(); st_it++) { if (ans-v[k].first+v[k].second<ans+(*st_it).first+(*st_it).second) { ans+=((*st_it).first+(*st_it).second); ans-=(v[k].first-v[k].second); st1.erase(st_it); st1.insert({v[k].second,v[k].first}); break; } } } cout << ans; return 0; }

Compilation message (stderr)

school.cpp: In function 'int main()':
school.cpp:35:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
        while (st.size()>s) {
               ~~~~~~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...