Submission #89093

#TimeUsernameProblemLanguageResultExecution timeMemory
89093lazarus88Schools (IZhO13_school)C++14
5 / 100
2009 ms21552 KiB
#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 timeMemoryGrader output
Fetching results...