Submission #98109

#TimeUsernameProblemLanguageResultExecution timeMemory
98109someone_aaExhibition (JOI19_ho_t2)C++17
100 / 100
96 ms3072 KiB
#include <bits/stdc++.h> #define ll long long #define pb push_back #define mp make_pair #define P pair<ll, ll> using namespace std; const int maxn = 100100; vector<P>v; ll frames[maxn], n, m; int bin_search(ll x) { if(x > frames[m]) return 0; int index = m; for(int cekor=m/2;cekor>0;cekor/=2) { while(index-cekor >= 1 && frames[index-cekor] >= x) index-=cekor; } return m - index + 1; } int main() { ios_base::sync_with_stdio(false); cin.tie(0); cin>>n>>m; ll sz, va; for(int i=1;i<=n;i++) { cin>>sz>>va; v.pb(mp(va, sz)); } v.pb(mp(0, 0)); sort(v.begin(), v.end()); for(int i=1;i<=m;i++) { cin>>frames[i]; } sort(frames+1, frames+m+1); int result = 0; int reached = 0; for(int i=n;i>=1;i--) { // process reversed int fit = bin_search(v[i].second); if(fit > reached) { // extend reached reached++; result = max(result, reached); } } cout<<result<<"\n"; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...