#include <bits/stdc++.h>
using namespace std;
int main(){
    
    long long n,m,t1,t2;
    
    cin>>n>>m;
    
    vector <pair<long long,long long>> v1;
    vector <long long> v2;
    //vector <pair<pair<long long,long long>,long long>> v3;
    
    
    for (long long i=0; i<n; i++){
        cin>>t1>>t2;
        v1.push_back({t2,t1});
    }
    sort(v1.begin(),v1.end());
    for (long long i=0; i<m; i++){
        cin>>t1;
        v2.push_back(t1);
    }
    sort(v2.begin(),v2.end());
    
    long long l=0;
    long long r=min(m,n);
    long long mid;
    
    while (r>l){
        mid=(r+l+1)/2;
        t1=m-mid;
        for (int i=0; i<n; i++){
			if (v1[i].first <= v2[t1]){
			    t1++;
				if (t1==m) {break;}
			}
		}
		if (t1==m){l=mid;} 
		else {r=mid-1;}
    }
    cout<<r;
    
    
    
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |