Submission #776293

#TimeUsernameProblemLanguageResultExecution timeMemory
776293DobromirAngelovExhibition (JOI19_ho_t2)C++14
100 / 100
61 ms4476 KiB
#include<bits/stdc++.h> #define endl '\n' #define fi first #define se second using namespace std; const int MAXN=1e5+5; const int MAXM=1e5+5; int n,m; pair<int,int> a[MAXN]; int b[MAXM]; int binS(int x) { if(x>b[1]) return 0; int l=1,r=m+1; while(l<r-1) { int mid=(l+r)/2; if(x<=b[mid]) l=mid; else r=mid; } return l; } bool cmpA(pair<int,int> x,pair<int,int> y) { if(x.se==y.se) return x.fi>y.fi; return x.se>y.se; } bool cmpB(int x,int y) { return x>y; } int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i].fi>>a[i].se; } for(int i=1;i<=m;i++) cin>>b[i]; sort(a+1,a+n+1,cmpA); sort(b+1,b+m+1,cmpB); for(int i=1;i<=n;i++) { a[i].fi=binS(a[i].fi); } int ans=0; for(int i=1;i<=n;i++) { if(ans<a[i].fi) ans++; } cout<<ans<<endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...