#include <bits/stdc++.h>
#define ll long long
#define all(x) x.begin(), x.end()
#define ii pair<ll,ll>
#define fst first
#define snd second
using namespace std;
const int MAXN=1e5+5;
bool used[MAXN];
int main(){
int n,m;cin>>n>>m;
vector<ll>s(n),v(n);
for(int i=0;i<n;i++)cin>>s[i]>>v[i];
vector<ll>c(m);
for(int i=0;i<m;i++)cin>>c[i];
sort(all(c));
int ans=0;
ll last=0;
for(int i=0;i<m;i++){
ii p={1e18,1e18};
for(int j=0;j<n;j++){
if(used[j])continue;
if(v[j]<last)continue;
if(s[j]<=c[i]){
p=min(p,ii{v[j],j});
}
}
if(p.snd==1e18)continue;
last=p.fst;
used[p.snd]=1;
ans++;
}
cout<<ans<<endl;
}
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |