比赛 20160707 评测结果 AAAAAAAAAA
题目名称 苳岑学姐の超电磁炮 最终得分 100
用户昵称 W 运行时间 0.092 s
代码语言 C++ 内存使用 0.30 MiB
提交时间 2016-07-07 16:25:13
显示代码纯文本
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int maxn =1500+10;
    int L,T,N,LL;
    struct ant{
    int no;
    int s;
    int t;
    bool operator <(const ant& O)const{
    return s<O.s;
    }
    }before[maxn],after[maxn];
    int order[maxn];
    void solve(int T){
    for(int i=0;i<N;i++){
    after[i].no=0;
    after[i].s=before[i].s+T*before[i].t;
    after[i].t=before[i].t;
    }
    sort(before,before+N);
    for(int i=0;i<N;i++)
    order[before[i].no]=i;
    sort(after,after+N);
    for(int i=0;i<N-1;i++){
    if(after[i].s==after[i+1].s)
    after[i].t=after[i+1].t = 0;
    }
    for(int i=0;i<N;i++){
    int a=order[i];
    if(after[a].s<1||after[a].s>L)
    printf("fire in the hole ");
    else
    printf("%d ",after[a].s);
    }
    printf("\n");
    }
    int main(){
    freopen("dcball.in","r",stdin);
    freopen("dcball.out","w",stdout);
    scanf("%d%d",&N,&L);
    for(int i=0;i<N;i++){
    int perak;
    before[i].no=i;
    scanf("%d %d",&before[i].s,&perak);
    before[i].t=(perak==1?-1:1);
    }
    scanf("%d",&LL);
    for(int j=1;j<=LL;j++){
    int perak;
    scanf("%d",&perak);
    solve(perak);
    }
    return 0;
    }