CF1501B.Napoleon Cake

传统题 时间 2000 ms 内存 256 MiB 4 尝试 1 已通过 1 标签

Napoleon Cake

题目描述

这周 Arkady 想做一些煎饼(以遵循古老的传统),并出一道关于煎饼的题目。但他随后想起,只有在某家特定的 IT 公司工作时才能出关于堆叠煎饼的题目,于是他决定改做拿破仑蛋糕。

制作拿破仑蛋糕,首先需要烤出 nn 层干蛋糕,然后将它们一层层叠放在一起,并在每层之间加入一些奶油。Arkady 从一个空盘子开始,进行了 nn 次如下操作:

  • 在蛋糕堆顶放上一层新的蛋糕;
  • 在放好第 ii 层后,在蛋糕堆顶倒入 aia_i 单位的奶油。

当在蛋糕堆顶倒入 xx 单位奶油时,蛋糕堆顶的 xx 层蛋糕会被奶油浸湿。如果堆中不足 xx 层,则所有层都会被浸湿,多余的奶油被浪费。如果 x=0x=0,则没有任何一层被浸湿。


图片展示了样例的第一个测试用例。请帮助 Arkady 判断,最终哪些蛋糕层会被奶油浸湿,哪些不会。

输入格式

每个测试点包含多个测试用例。第一行包含一个整数 tt1t200001 \le t \le 20000),表示测试用例的数量。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn1n2×1051 \le n \le 2 \times 10^5),表示蛋糕的层数。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \ldots, a_n0ain0 \le a_i \le n),表示每次放好第 ii 层后倒入的奶油量。

保证所有测试用例中 nn 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一行 nn 个整数。第 ii 个整数为 11 表示从下往上数第 ii 层蛋糕最终被奶油浸湿,为 00 表示没有被浸湿。

说明/提示

由 ChatGPT 4.1 翻译

样例

3
6
0 3 0 0 1 3
10
0 0 0 1 0 5 0 0 0 2
3
0 0 0
1 1 0 1 1 1 
0 1 1 1 1 1 0 0 1 1 
0 0 0 

在线编程 IDE

建议全屏模式获得最佳体验