#707 B;
思路:差分,输入一个ai那么就用差分的方式快速把上面ai层加上1;
最后判断哪一个是0是的输出0,否则输出1;
#include<stdio.h>
#include<string.h>
int ai[100010];
int bi[100010];
int ci[100010];
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n;
memset(bi,0,sizeof(bi));
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
int x;
scanf("%d",&x);
if(x>=i)
{
bi[1]++;
bi[i+1]--;
}
else
{
bi[i-x+1]++;
bi[i+1]--;
}
}
ci[0]=0;
for(int i=1;i<=n;i++)
{
ci[i]=ci[i-1]+bi[i];
}
for(int i=1;i<=n;i++)
{
if(ci[i]==0)printf("0 ");
else printf("1 ");
}
printf("\n");
}
return 0;
}