记录编号 205108 评测结果 AAAAAAAAAA
题目名称 平凡的题面 最终得分 100
用户昵称 GravatarKZNS 是否通过 通过
代码语言 C++ 运行时间 0.549 s
提交时间 2015-11-04 20:32:44 内存使用 0.31 MiB
显示代码纯文本
// KZ's
#include <fstream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
ifstream fin ("bg.in");
ofstream fout ("bg.out");
///////
class poi {
public:
	int l,r;
};
bool operator < (poi a,poi b) {
	if (a.l==b.l)
		return a.r<b.r;
	return a.l<b.l;
}
///////
int n,m;
vector <int> p;
vector <poi> cp;
multiset<int,less<int> > pq;
///////
void rin() {
	fin>>n>>m;
	int a,b;
	poi uuu;
	for (int i=0;i<n;i++) {
		fin>>a;
		p.push_back(a);
	}
	for (int i=0;i<m;i++) {
		fin>>a>>b;
		uuu.l=a;
		uuu.r=b;
		cp.push_back(uuu);
	}
}
void work() {
	sort(p.begin(),p.end());
	sort(cp.begin(),cp.end());
	int i=0,j=0,s=0;
	while (i<p.size()&&j<cp.size()) {
		if (p[i]<cp[j].l) {
			if (pq.empty())
				i++;
			else
				while (!pq.empty()) {
					if (p[i]<=*pq.begin()) {
						pq.erase(pq.begin());
						i++;
						s++;
						break;
					}
					else {
						pq.erase(pq.begin());
					}
				}
		}
		else {
			pq.insert(cp[j].r);
			j++;
		}
	}
	while (!pq.empty()&&i<p.size()) {
		if (p[i]<=*pq.begin()) {
			pq.erase(pq.begin());
			i++;
			s++;
		}
		else {
			pq.erase(pq.begin());
		}
	}
	fout<<s<<endl;
}
/////////
int main() {
	rin();
	work();
	return 0;
}
// UBWH