Submission #208343

#TimeUsernameProblemLanguageResultExecution timeMemory
208343mohamedsobhi777학교 설립 (IZhO13_school)C++14
5 / 100
333 ms11208 KiB
#include<bits/stdc++.h> using namespace std ; const int N = 1e6 + 7 , mod = 998244353; long long n , A , B ; long long a[N] , b[N] ; long long ans ; int vis[N]; int main() { //freopen("in.in" , "r" , stdin) ; cin>>n>>A>>B ; vector<pair<int , int > > v , v2 ; for(int i = 0 ; i < n ; i++){ cin>>a[i] >> b[i] ; v.push_back({-a[i] , i}) ; v2.push_back({-b[i] , i}); } sort(v.begin() , v.end()) ; sort(v2.begin() , v2.end()) ; int j = A; for(int i= 0 ; i < A ; i++){ ans-=v[i].first ; vis[v[i].second] = 1 ; } for(int i = 0 ; i < B ; i++){ int val = -v2[i].first ; int idx = v2[i].second ; if(vis[idx]++) { while(vis[v[j].second]){ j++; } if( val - v[j] .first > - v[i].first ) { vis[ v[j].second ] = 1 ; ans+=val -v[j].first + v[i] .first ; } else { B++; } } else { ans+=val; } } cout<<ans; return 0 ; }
#Verdict Execution timeMemoryGrader output
Fetching results...