#782(Div.2) D
作者:
昊子
,
2022-05-06 20:52:13
,
所有人可见
,
阅读 185
#include<iostream>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
#define endl '\n'
#define int long long
int c[200005];
int d[200005];
void solve(){
int n;
int sum = 0;
cin >> n;
memset(d, 0, sizeof d);
vector<int> a(n + 1, 0);
for(int i = 1; i <= n; ++ i){
cin >> c[i];
sum += c[i];
}
int cnt = sum / n;
int tmp = 0;
for(int i = n; i >= 1 && cnt; -- i){
tmp += d[i];
d[i - 1] --;
d[i - cnt] ++;
if(c[i] + tmp == i){
a[i] = 1;
cnt --;
}
}
for(int i = 1; i <= n; ++ i)cout << a[i] << ' ';
cout << endl;
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0), cout.tie(0);
int _;
cin >> _;
while(_ --){
solve();
}
return 0;
}