# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
89093 | lazarus88 | Schools (IZhO13_school) | C++14 | 2009 ms | 21552 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,m,s,cnt=0;
set <pair<int,int > > st,st1;
cin>>n>>m>>s;
int a[100001],b[100001];
for(int i=1;i<=n;i++){
cin>>a[i]>>b[i];
st.insert({-a[i],i});
st1.insert({-b[i],i});
}
while(m>0){
pair<int,int> k=*st.begin();
st.erase(st.begin());
pair<int,int> t=*st.begin();
if(-k.first+b[t.second]>-t.first+b[k.second]){
cnt+=(-k.first);
st1.erase({-b[k.second],k.second});
}
else{
st.erase(st.begin());
st.insert(k);
cnt+=(-t.first);
st1.erase({-b[t.second],t.second});
}
m--;
}
while(s>0){
pair<int,int > k=*st1.begin();
st1.erase(st1.begin());
cnt+=(-k.first);
s--;
}
cout<<cnt;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |