显示代码纯文本
#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
const int maxn=15e5+10;
int n,max_num,cnt;
int num[45000],query[maxn];
int read();
int main(){
freopen("unlessseq.in","r",stdin);
freopen("unlessseq.out","w",stdout);
int i;
int n;
n=read();
for(i=1;i<=n;i++){
query[i]=read();
max_num=max(max_num,query[i]);
}
for(i=1;i;i++){
num[i]=num[i-1]+i;
if(num[i]>=max_num){
cnt=i;
break;
}
}
for(i=1;i<=n;i++){
int t=lower_bound(num,num+cnt,query[i])-num;
if(query[i]-num[t-1]==1)cout<<"1\n";
else cout<<"0\n";
}
return 0;
}
int read(){
int t=0;
char s=getchar();
while(s<'0'||s>'9')s=getchar();
while(s>='0'&&s<='9'){
t=(t<<3)+(t<<1)+s-'0';
s=getchar();
}
return t;
}