#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 time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |