CF1659D.Reverse Sort Sum
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Suppose you had an array A of n elements, each of which is 0 or 1 .
Let us define a function f(k,A) which returns another array B , the result of sorting the first k elements of A in non-decreasing order. For example, f(4,[0,1,1,0,0,1,0])=[0,0,1,1,0,1,0] . Note that the first 4 elements were sorted.
Now consider the arrays B1,B2,…,Bn generated by f(1,A),f(2,A),…,f(n,A) . Let C be the array obtained by taking the element-wise sum of B1,B2,…,Bn .
For example, let A=[0,1,0,1] . Then we have B1=[0,1,0,1] , B2=[0,1,0,1] , B3=[0,0,1,1] , B4=[0,0,1,1] . Then C=B1+B2+B3+B4=[0,1,0,1]+[0,1,0,1]+[0,0,1,1]+[0,0,1,1]=[0,2,2,4] .
You are given C . Determine a binary array A that would give C when processed as above. It is guaranteed that an array A exists for given C in the input.
输入格式
The first line contains a single integer t ( 1≤t≤1000 ) — the number of test cases.
Each test case has two lines. The first line contains a single integer n ( 1≤n≤2⋅105 ).
The second line contains n integers c1,c2,…,cn ( 0≤ci≤n ). It is guaranteed that a valid array A exists for the given C .
The sum of n over all test cases does not exceed 2⋅105 .
输出格式
For each test case, output a single line containing n integers a1,a2,…,an ( ai is 0 or 1 ). If there are multiple answers, you may output any of them.
输入输出样例
输入#1
5 4 2 4 2 4 7 0 3 4 2 3 2 7 3 0 0 0 4 0 0 0 4 3 1 2 3
输出#1
1 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 1 1 0 1
说明/提示
Here's the explanation for the first test case. Given that A=[1,1,0,1] , we can construct each Bi :
- B1=[1,1,0,1] ;
- B2=[1,1,0,1] ;
- B3=[0,1,1,1] ;
- B4=[0,1,1,1]
And then, we can sum up each column above to get C=[1+1+0+0,1+1+1+1,0+0+1+1,1+1+1+1]=[2,4,2,4] .