#include <iostream>
#include<cstdio>
#include<algorithm>
#include<queue>
using namespace std;
pair<int ,int> cow[2505];
pair<int ,int> bottle[2505];
int l,c;
int main()
{
cin>>c>>l;
for(int i=0;i<c;i++)
cin>>cow[i].first>>cow[i].second;
for(int i=0;i<l;i++)
cin>>bottle[i].first>>bottle[i].second;
sort(cow,cow+c);
sort(bottle,bottle+l);
int res=0,cnt=0;
priority_queue<int ,vector<int> , greater<int> > q;
for(int i=0;i<l;i++)
{
while(cnt<c&&cow[cnt].first<=bottle[i].first)
{
q.push(cow[cnt].second); cnt++;
}
while(bottle[i].second&&!q.empty())
{
int t=q.top();
q.pop();
if(t>=bottle[i].first)
{
res++;
bottle[i].second--;
}
}
}
cout<<res<<endl;
return 0;
}
poj3614
最新推荐文章于 2023-07-28 07:58:07 发布