#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
#define MAX_N 2510
int C,L;
pair<int, int> arr[MAX_N];
pair<int, int> brr[MAX_N];
priority_queue<int, vector<int>, greater<int> > q;
int main(){
scanf("%d%d", &C, &L);
for(int i = 0;i < C; i++)
scanf("%d%d", &arr[i].first, &arr[i].second);
for(int i = 0; i< L; i++)
scanf("%d%d", &brr[i].first, &brr[i].second);
sort(arr, arr + C);
sort(brr, brr + L);
int j = 0,ans = 0;
for(int i = 0; i < L; i++){
while(j < C && arr[j].first <= brr[i].first){
q.push(arr[j].second);
j++;
}
while(!q.empty() && brr[i].second){
int x = q.top(); q.pop();
if(x < brr[i].first) continue;
ans++;
brr[i].second--;
}
}
printf("%d\n", ans);
return 0;
}
poj3614
最新推荐文章于 2019-04-02 16:51:00 发布