比赛 平凡的题目 评测结果 WWWWWEWWWW
题目名称 平凡的题面 最终得分 0
用户昵称 Fmuckss 运行时间 0.606 s
代码语言 C++ 内存使用 2.61 MiB
提交时间 2015-11-03 11:46:37
显示代码纯文本
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
#define maxn 100000
using namespace std;
int n,m,res;
priority_queue<int,vector<int>,greater<int> > q;
struct  node{
	int x,y;
	bool line;
}ns[2*maxn+1000];
bool cmp(node a,node b){
	return a.x==b.x ? (!a.line):a.x<b.x;
}
void read(){
	scanf("%d %d",&n,&m);
	for(int i=1;i<=n;i++){
		int x;
		scanf("%d",&x);
		ns[i].x=x;ns[i].line=false;
	}
	for(int i=n+1;i<=m+n;i++){
		int x,y;
		scanf("%d %d",&x,&y);
		ns[i].x=x;ns[i].y=y;
		ns[i].line=true;
	}
	sort(ns+1,ns+n+m+1,cmp);
}
int solve(){
	for(int i=1;i<=m+n;i++){
		if(ns[i].line){q.push(ns[i].y);}
		else{
			while((!q.empty())&&ns[i].x>q.top())	q.pop();
			if(!q.empty()){res++;q.pop();}
		}
	}
	return res;
}
int main(){
	freopen("bg.in","r",stdin);
	freopen("bg.out","w",stdout);
	read();
	printf("%d",solve());
	return 0;
}