比赛 NOIP模拟赛1 评测结果 AAAAAATTTTTTTTTTTTTT
题目名称 天天爱射击 最终得分 30
用户昵称 lajioj 运行时间 14.034 s
代码语言 C++ 内存使用 2.86 MiB
提交时间 2018-02-08 20:35:21
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

#define NUM ch-'0'
inline void read(int &res){
	char ch;
	bool flag=0;
	while(!isdigit(ch=getchar()))
		(flag=1)&&(ch=='-');
	for(res=NUM;isdigit(ch=getchar());res=res*10+NUM);
	(flag)&&(res=-res);
}

const int MAXN = 200000+1;

struct node{
	int l,r,val;
}ban[MAXN];

int vis[MAXN];

bool cmp(const node aa,const node bb){
	return aa.l < bb.l;
}

inline void file(){
	freopen("shooting.in","r",stdin);
	freopen("shooting.out","w",stdout);
}

int main(){
	file();
	int n,m;
	read(n);
	read(m);
	for(int i=1;i<=n;++i){
		read(ban[i].l);
		read(ban[i].r);
		read(ban[i].val);
	}
	sort(ban+1,ban+n+1,cmp);
	while(m--){
		int k;
		read(k);
		int ans=0;
		for(int i=1;i<=n;++i){
			if(vis[i] || ban[i].r < k) continue;
			if(ban[i].l > k) break;
			if(ban[i].l <= k && k <= ban[i].r){
				ban[i].val--;
				if(ban[i].val == 0){
					vis[i] = 1;
					ans++;
				}
			}
		}
		printf("%d\n",ans);
	}
	return 0;
}