제출 #89097

#제출 시각아이디문제언어결과실행 시간메모리
89097beso123학교 설립 (IZhO13_school)C++14
5 / 100
418 ms14588 KiB
#include <bits/stdc++.h> #define ll long long using namespace std; ll n,m,s; ll cnt,cnt1,r,r1; struct xy{ ll x; ll y; ll z; }; bool sort21(xy a,xy b){ return a.x>b.x; } bool sort211(xy a,xy b){ return a.y>b.y; } xy f[300001]; xy f1[300001]; int main(){ cin>>n>>m>>s; for(int k=1;k<=n;k++){ cin>>f[k].x>>f[k].y; f1[k].x=f[k].x; f1[k].y=f[k].y; f1[k].z=0; f[k].z=0; } sort(f+1,f+n+1,sort21); for(int k=1;k<=m;k++){ cnt+=f[k].x; f[k].z=1; } sort(f+1,f+n+1,sort211); for(int k=1;k<=n;k++){ if(r<s){ if(f[k].z!=1){ cnt+=f[k].y; f[k].z=1; r++; } } else break; } sort(f1+1,f1+n+1,sort211); for(int k=1;k<=s;k++){ cnt1+=f1[k].y; f1[k].z=1; } sort(f1+1,f1+n+1,sort21); for(int k=1;k<=n;k++){ if(r1<m){ if(f1[k].z!=1){ cnt1+=f[k].x; f1[k].z=1; r1++; } } else break; } cout<<max(cnt,cnt1); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...