Submission #1146353

#TimeUsernameProblemLanguageResultExecution timeMemory
1146353hehewuuTraffic (CEOI11_tra)C++20
0 / 100
155 ms30820 KiB
#include<bits/stdc++.h> using namespace std; #define fr(ii,ss,tt) for(int ii=ss;ii<=tt;ii++) #define rf(ii,ss,tt) for(int ii=ss;ii>=tt;ii--) #define pii pair<int,int> #define pt printf #define x first #define y second #define all(a) begin(a),end(a) #define nn(a) a+1,a+n+1 #define pb push_back #define eb emplace_back #define siz(x) ((int)size(x)) #ifdef UFILE #define file(f1,f2) (f1!=""&&freopen(f1,"r",stdin),f2!=""&&freopen(f2,"w",stdout)) #else #define file(...) 0 #endif typedef long long LL; typedef double RL; //typedef __int128 Int; template<typename T>bool tomax(T&x,const T&y){if(x<y)return x=y,true;return false;} template<typename T>bool tomin(T&x,const T&y){if(x>y)return x=y,true;return false;} inline void rd(auto&x,auto&...y){char ch;bool f=0;while(!isdigit(ch=getchar()))if(ch=='-')f=1;x=0;do{x=(x<<1)+(x<<3)+(ch^48);}while(isdigit(ch=getchar()));if(f)x=-x;if constexpr(sizeof...(y))rd(y...);} inline void wt(auto&&x,auto&&...y){cout<<x;if constexpr(sizeof...(y))cout<<' ',wt(y...);} const int N=1e6+33; #define int long long int n,m,k; struct{int c,p;}a[N]; struct{int v,d;}b[N]; int f[N]; int find(int x){return x==f[x]?x:f[x]=find(f[x]);} signed main(){ rd(n,m,k); iota(f+1,f+n+2,1); fr(i,1,n){ rd(a[i].c,a[i].p); } fr(i,1,m){ rd(b[i].v,b[i].d); } sort(a+1,a+n+1,[](auto x,auto y){return x.c<y.c;}); sort(b+1,b+m+1,[](auto x,auto y){return x.v>y.v;}); multiset<int>st; fr(j,1,m){ int i=lower_bound(a+1,a+n+1,b[j].d,[](auto x,int v){return x.p<v;})-a; assert(a[i].p>=b[j].d); i=find(i); if(i<=n){ st.insert(b[j].v-a[i].c); f[i]=i+1; } } LL ans=0; while(k--){ int u=*st.rbegin(); if(u<0)break; st.erase(st.find(u)); ans+=u; } wt(ans); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...