Submission #90793

#TimeUsernameProblemLanguageResultExecution timeMemory
90793NordwaySchools (IZhO13_school)C++14
25 / 100
231 ms10216 KiB
#include <bits/stdc++.h> #define x first #define y second #define pb push_back #define mp make_pair #define up_b upper_bound #define low_b lower_bound #define sz(x) (int)x.size() #define all(v) v.begin(),v.end() #define boost ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0) using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pii; typedef pair<int,ll> pil; typedef pair<ll,int> pli; typedef pair<ll,ll> pll; const ll INF = 1e18; const ll inf = 1e9; const int mod = 998244353; const int dx[4] = {0, 0, 1, -1}; const int dy[4] = {1, -1, 0, 0}; const int N = 3e5+5; const int M = 1e5+1; int u[N],u2[N]; int a[N],b[N]; pii c[N]; int main(){ int n,m,s; cin>>n>>m>>s; for(int i=1;i<=n;i++){ cin>>a[i]>>b[i]; c[i]=mp(a[i]-b[i],i); } sort(c+1,c+n+1); reverse(c+1,c+n+1); ll ans1=0,ans2=0; for(int i=1;i<=m;i++){ ans1+=a[c[i].y]; u[c[i].y]=1; } vector<int>v; for(int i=1;i<=n;i++){ if(!u[i]){ v.pb(b[i]); } } sort(all(v)); reverse(all(v)); for(int i=0;i<s;i++){ ans1+=v[i]; } v.clear(); for(int i=n;i>=n-s+1;i--){ ans2+=b[c[i].y]; u2[c[i].y]=1; } for(int i=1;i<=n;i++){ if(!u2[i]){ v.pb(a[i]); } } sort(all(v)); reverse(all(v)); for(int i=0;i<m;i++){ ans2+=v[i]; } cout<<max(ans1,ans2); }
#Verdict Execution timeMemoryGrader output
Fetching results...