比赛 2016-10-11 4 syz 评测结果 WAAWWWWWWT
题目名称 无穷的序列 最终得分 20
用户昵称 GROWL GOOD BOYส็ 运行时间 1.236 s
代码语言 C++ 内存使用 23.20 MiB
提交时间 2016-10-11 19:54:15
显示代码纯文本
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>

using namespace std;


typedef long long LL;

struct node
{
     LL data;int pos;
     bool Ans;
}A[1500000+10];

int N;

bool comp1(node a,node b)
{
 return a.data<b.data;
}

bool comp2(node a,node b)
{

	return a.pos<b.pos;
}

int main()
{
    freopen("unlessseq.in","r",stdin);
    freopen("unlessseq.out","w",stdout);
    scanf("%d",&N);
    for(int i=1;i<=N;i++)scanf("%lld",&A[i]);
    sort(A+1,A+N+1,comp1);
    LL ha=1,pos=1;
     for(int m=1;;m++)
     {
       while(A[pos].data<ha)pos++;
       if(A[pos].data==ha)
       {
       A[pos].Ans=1;
       pos++;
       }
       if(ha>A[N].data||pos>N)break;
       ha+=m;
     }
     sort(A+1,A+N+1,comp2);
     for(int i=1;i<=N;i++)
     {
     	printf("%d\n",A[i].Ans);
     }
     fclose(stdin);
     fclose(stdout);
    return 0;
}