#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
#define sz(x) (int)x.size()
using namespace std;
const int MAXN=1e5+5;
int main(){
int n,m;cin>>n>>m;
vector<ii>v(n);
for(int i=0;i<n;i++)cin>>v[i].fst>>v[i].snd;
vector<ll>c(m);
for(int i=0;i<m;i++)cin>>c[i];
sort(all(c));
sort(all(v),[&](ii &a, ii &b){
if(a.snd==b.snd)return a.fst<b.fst;
return a.snd<b.snd;
}); //tengo el mas caro y de mayor tamaño de los v_i
int j=n-1,ans=0;
for(int i=m-1;i>=0;i--){
while(j>=0){
if(c[i]>=v[j].fst){
j--;
ans++;
break;
}
j--;
}
}
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... |