比赛 防止浮躁的小练习v0.4 评测结果 AAAAAAAAAA
题目名称 苳岑学姐の超电磁炮 最终得分 100
用户昵称 NVIDIA 运行时间 0.090 s
代码语言 C++ 内存使用 2.99 MiB
提交时间 2016-10-14 09:05:36
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int nmax=100086;
struct MK
{
	int num;
	int pos;
	int dir;
}s[nmax],tmps[nmax];
bool cmp(MK const &a,MK const &b)
{
	return a.pos<b.pos;
}
int N,L,Q,Timek;
int tmp[nmax];
int main()
{
	int i,j;
	freopen("dcball.in","r",stdin);
	freopen("dcball.out","w",stdout);
	scanf("%d%d",&N,&L);
	for(i=1;i<=N;i++)
	{
		s[i].num=i;
		scanf("%d%d",&s[i].pos,&s[i].dir);
	}
	sort(s+1,s+1+N,cmp);
	for(i=1;i<=N;i++)
		tmp[s[i].num]=i;
	scanf("%d",&Q);
	for(i=1;i<=Q;i++)
	{
		scanf("%d",&Timek);
		for(j=1;j<=N;j++)
		{
			if(s[j].dir)
				tmps[j].pos=s[j].pos-Timek;
			else
				tmps[j].pos=s[j].pos+Timek;
		}
		sort(tmps+1,tmps+1+N,cmp);
		for(j=1;j<=N;j++)
		{
			if(tmps[tmp[j]].pos<1||tmps[tmp[j]].pos>L)
				printf("fire in the hole ");
			else
				printf("%d ",tmps[tmp[j]].pos);
		}
		printf("\n");
	}
	return 0;
}