AcWing 3729. 改变数组元素
原题链接
中等
作者:
开始独自升级
,
2023-02-14 17:57:49
,
所有人可见
,
阅读 97
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int b[N];
int n,t;
void add(int l,int r)
{
b[l]+=1;
b[r+1]-=1;
}
int main()
{
cin>>t;
while(t--)
{
cin>>n;
memset(b,0,sizeof b);
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
if(x==0) continue;
if(x>=i) add(1,i);
else add(i-x+1,i);
}
for(int i=1;i<=n;i++)
b[i]+=b[i-1];
for(int i=1;i<=n;i++)
{
if(b[i]!=0)
cout<<"1"<<' ';
else
cout<<"0"<<' ';
}
puts(" ");
}
return 0;
}