Submission #1277034

#TimeUsernameProblemLanguageResultExecution timeMemory
1277034LmaoLmaoExhibition (JOI19_ho_t2)C++20
100 / 100
45 ms2800 KiB
#include<bits/stdc++.h>
#define int long long
#define fi first
#define se second

using namespace std;
using ll = long long;
using ii = pair<int,int>;
using aa = array<int,3>; 

bool cmp(ii a,ii b) {
  if(a.fi!=b.fi) return a.fi>b.fi;
  else return a.fi<b.fi;
}

ii a[200005];
int s[200005];
int dp[200005];
int nam;

int bs(int x) {
    int res=0; 
    int l=1,r=nam;
    while(l<=r) {
      int mid = l + r >> 1;
      if(s[mid]>=x) {
        res=mid;
        l=mid+1;
      }
      else {
        r=mid-1;
      }
    }
    return res;
} 

signed main() 
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
    int m;
    cin >> nam >> m;
    for(int i=1;i<=nam;i++) {
      cin >> a[i].se >> a[i].fi;
    }
    for(int i=1;i<=m;i++) {
      cin >> s[i];
    }
    sort(a+1,a+1+nam,greater<>());
    sort(s+1,s+1+m,greater<>());
    int cur=0;
    for(int i=1;i<=nam;i++) {
      int t=bs(a[i].se); 
      if(cur<t) {
        cur++; 
      } 
    }
    cout << cur << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...