比赛 20170912 评测结果 AAAAAAAAAA
题目名称 平凡的题面 最终得分 100
用户昵称 1azyReaper 运行时间 0.261 s
代码语言 C++ 内存使用 1.46 MiB
提交时间 2017-09-12 21:32:43
显示代码纯文本
#include <iostream>
#include <cstring>
#include <cstdio>
#include <queue>
#include <vector>
#include <algorithm>
#define MAX 100010
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
class node
{
	public:
		int l,r;
}peo[MAX];
int ti[MAX],n,m,ans=0;
priority_queue<int,vector<int>,greater<int> > pq;
inline int read()
{
	int ans=0,f=1;
	char tmp=getchar();
	while(tmp<'0'||tmp>'9')
	{
		if(tmp=='-')
			f=-f;
		tmp=getchar();
	}
	while(tmp>='0'&&tmp<='9')
	{
		ans=ans*10+tmp-'0';
		tmp=getchar();
	}
	return ans*f;
}
inline bool jdg(node a,node b)
{
	return a.l<b.l;
}
int main(int argc, char** argv)
{
	freopen("bg.in","r",stdin);
	freopen("bg.out","w",stdout);
	n=read(),m=read();
	//cout<<n<<' '<<m<<endl;
	for(int i=1;i<=n;i++)
	{
		ti[i]=read();
		//cout<<ti[i]<<' ';
	}//cout<<endl;
	for(int i=1;i<=m;i++)
	{
		peo[i].l=read(),peo[i].r=read();
		//cout<<peo[i].l<<' '<<peo[i].r<<' '<<endl;
	}//cout<<endl;
	sort(peo+1,peo+1+m,jdg);
	sort(ti+1,ti+1+n);
	int i=1,j=1;
	while(i<=n)
	{
		if(ti[i]>=peo[j].l)
		{
			pq.push(peo[j].r);
			j++;
		}
		else
		{
			while(!pq.empty())
			{
				if(ti[i]<=pq.top())
				{
					ans++;
					pq.pop();
					break;
				}
				else
				{
					pq.pop();
				}
			}
			i++;
		}
	}
	cout<<ans<<endl;
	return 0;
}