#include <bits/stdc++.h>
#define fst first
#define snd second
#define pb push_back
#define forn(i,a,b) for(int i = a; i<b; i++)
#define SZ(x) (int)x.size()
#define ALL(x) x.begin(),x.end()
#define mset(a,v) memset(a,v,sizeof(a))
using namespace std;
typedef long long ll;
int main(){
ll n,m; cin>>n>>m;
vector<ll> s(n);
vector<ll> v(n);
vector<ll> c(m);
vector<pair<ll,ll>> pi(n);
forn(i,0,n) cin>>s[i]>>v[i], pi[i]={v[i],s[i]};
forn(i,0,m) cin>>c[i];
sort(ALL(c));
sort(ALL(pi));
ll l = 1; ll r = SZ(c);
while(l<=r){
ll mid = (l+r)/2;
ll cnt = 0;
ll j=SZ(c)-mid;
ll i=0;
while(j<SZ(c) && i<SZ(pi)){
if(pi[i].snd<=c[j]){
cnt++;
i++;
j++;
}else{
i++;
}
}
if(cnt<mid){
r=mid-1;
}else l=mid+1;
}
cout<<r<<'\n';
return 0;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |