#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=m-1; k>=0; k--) {
while (true) {
bool ind1=false;
set < pair <ll, ll > > ::iterator st_it;
for (st_it=st1.begin(); st_it!=st1.end(); st_it++) {
if (ans<ans-v[k].first+v[k].second+(*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});
ind1=true;
break;
}
}
if (!ind1) break;
}
}
cout << ans;
return 0;
}
Compilation message
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 time |
Memory |
Grader output |
1 |
Incorrect |
2 ms |
376 KB |
Output isn't correct |
2 |
Correct |
2 ms |
468 KB |
Output is correct |
3 |
Correct |
2 ms |
480 KB |
Output is correct |
4 |
Incorrect |
2 ms |
480 KB |
Output isn't correct |
5 |
Incorrect |
4 ms |
480 KB |
Output isn't correct |
6 |
Incorrect |
2 ms |
480 KB |
Output isn't correct |
7 |
Incorrect |
9 ms |
732 KB |
Output isn't correct |
8 |
Incorrect |
3 ms |
732 KB |
Output isn't correct |
9 |
Incorrect |
6 ms |
748 KB |
Output isn't correct |
10 |
Incorrect |
5 ms |
748 KB |
Output isn't correct |
11 |
Incorrect |
61 ms |
808 KB |
Output isn't correct |
12 |
Incorrect |
69 ms |
952 KB |
Output isn't correct |
13 |
Incorrect |
83 ms |
1880 KB |
Output isn't correct |
14 |
Execution timed out |
2005 ms |
6220 KB |
Time limit exceeded |
15 |
Incorrect |
190 ms |
13000 KB |
Output isn't correct |
16 |
Execution timed out |
2065 ms |
13284 KB |
Time limit exceeded |
17 |
Execution timed out |
2017 ms |
13284 KB |
Time limit exceeded |
18 |
Execution timed out |
2043 ms |
13588 KB |
Time limit exceeded |
19 |
Execution timed out |
2027 ms |
15224 KB |
Time limit exceeded |
20 |
Execution timed out |
2040 ms |
17980 KB |
Time limit exceeded |