比赛 |
2016-10-11 4 syz |
评测结果 |
AAAAAAAAAA |
题目名称 |
无穷的序列 |
最终得分 |
100 |
用户昵称 |
jinqiu |
运行时间 |
0.414 s |
代码语言 |
C++ |
内存使用 |
5.59 MiB |
提交时间 |
2016-10-11 19:14:44 |
显示代码纯文本
#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]=i*(i+1)/2;
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;
}