记录编号 |
278394 |
评测结果 |
AAAAAAAAAA |
题目名称 |
苳岑学姐の超电磁炮 |
最终得分 |
100 |
用户昵称 |
宋逸群 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.303 s |
提交时间 |
2016-07-07 20:37:24 |
内存使用 |
0.52 MiB |
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
struct node
{
int x,id,flag;
}ant[10100],after[10100];
int L,N,T,M,order[10100];
int read()
{
int x=0,f=1; char ch=getchar();
while(ch>'9'||ch<'0') {if(ch=='-') f=-1; ch=getchar();}
while(ch>='0'&&ch<='9') {x=(x<<3)+(x<<1)+ch-'0'; ch=getchar();}
return x*f;
}
bool mycmp(node a,node b)
{return a.x<b.x;}
void work()
{
sort(ant+1,ant+N+1,mycmp);
for(int i=1;i<=N;i++)
{
if(ant[i].flag==0) {after[i].x=ant[i].x+T;}
else {after[i].x=ant[i].x-T;}
}
for(int i=1;i<=N;i++)
order[ant[i].id]=i;
sort(after+1,after+N+1,mycmp);
for(int i=1;i<=N;i++)
{
int a=order[i];
if(after[a].x<1||after[a].x>L) printf("fire in the hole ");
else cout<<after[a].x<<' ';
}
}
int main()
{
freopen("dcball.in","r",stdin);
freopen("dcball.out","w",stdout);
N=read(); L=read();
for(int i=1;i<=N;i++)
{
ant[i].x=read();
ant[i].flag=read();
ant[i].id=i;
}
M=read();
while(M--)
{
T=read();
work();
cout<<endl;
}
return 0;
}