比赛 平凡的题目 评测结果 WAWWWTTTTW
题目名称 平凡的题面 最终得分 10
用户昵称 321Rain 运行时间 4.011 s
代码语言 C++ 内存使用 1.83 MiB
提交时间 2015-11-03 09:48:13
显示代码纯文本
#include<cstdio>
#include<vector>
#include<algorithm>
#include<iostream>
#include<cstring>
#include<queue>
#include<cmath>
using namespace std;
struct N{
	int l,r,len;
}b[100100];
int ans;
int n,m,a[100100];
bool vis[100100];
bool vis1[100100];
int bi(N a,N b)
{
	if (a.len<b.len)
		return 1;
    return 0;
}
int main()
{
	freopen("bg.in","r",stdin);
	freopen("bg.out","w",stdout);
    cin>>n>>m;	
	for (int i=1;i<=n;i++)
	 cin>>a[i];
	for (int i=1;i<=m;i++)
	 cin>>b[i].l>>b[i].r,b[i].len=b[i].r-b[i].l+1;
	sort(b+1,b+1+m,bi);
//	for (int i=1;i<=m;i++)
//	 cout<<b[i].l<<" "<<b[i].r<<" "<<b[i].len<<"*"<<endl;
	for (int i=1;i<=n;i++) 
	 for (int j=1;j<=m;j++)
	 {
	 	if (!vis1[i]&&!vis[j]&&a[i]>=b[j].l&&a[i]<=b[j].r)
	 	{
	 		ans++;
	 		vis[j]=true;
	 		vis1[i]=true;
	 //		cout<<a[i]<<"//";
	 //		cout<<b[j].l<<" "<<b[j].r<<"*"<<endl;
	 		
		}
	 }
	cout<<ans;
	return 0;
}