CF2057H.Coffee Break

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

T-Generation 的课程十分漫长。在一天中,必须安排时间来分析训练和专题比赛,讲解新内容,并在可能的情况下,举行一个小型研讨会。因此,课间休息时学生们会去喝咖啡或聊天。

走廊上总共有 n+2n+2 台咖啡机,依次排列。咖啡机编号从 00 到 n+1n+1,当休息开始时,第 ii 台咖啡机周围聚集了 aia_i 名学生。

由于学生们说话声太大,老师需要进行一个重要的通知。因此,他们希望将尽可能多的学生聚集到某一台咖啡机周围。不过,老师们懒得亲自去召集学生,想出了一种巧妙的方法:

  • 随时可以选择房间 ii(1≤i≤n1 \le i \le n)并关闭那里的灯;
  • 如果该房间有 xx 名学生,关灯后,⌊12x⌋\lfloor \frac{1}{2} x \rfloor 名学生会去左边的房间 (i−1)(i-1),另外 ⌊12x⌋\lfloor \frac{1}{2} x \rfloor 名学生会去右边的房间 (i+1)(i+1);
  • 如果 xx 是奇数,则有一名学生留在原位;
  • 随后再次打开房间 ii 的灯。

老师们尚未决定最终要在何处聚集学生,因此需要计算,对于每个 ii 从 11 到 nn,在第 ii 台咖啡机周围最多能聚集多少名学生。

老师们可以任意顺序、任意次数选择关灯,可以在同一个房间多次操作。

需要注意的是,a0a_0 和 an+1a_{n+1} 的值对结果没有影响,因此不需要考虑这两个值。

输入格式

第一行输入一个整数 tt(1≤t≤10 0001 \le t \le 10\,000),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn(1≤n≤1061 \le n \le 10^6)。

接下来一行是 nn 个整数 a1,…,ana_1, \ldots, a_n(0≤ai≤1090 \le a_i \le 10^9),表示学生在编号为 1,2,…,n1, 2, \ldots, n 的咖啡机周围的人数。

保证所有测试用例中的 nn 之和不超过 10610^6。

输出格式

对于每个测试用例,输出 nn 个整数 b1,…,bnb_1, \ldots, b_n,其中 bib_i 表示在编号为 ii 的咖啡机周围最多能聚集的学生人数。

输入输出样例

  • 输入#1

    3
    2
    8 0
    5
    2 2 2 2 2
    5
    0 0 9 0 0

    输出#1

    8 4 
    4 5 4 5 4 
    4 6 9 6 4

说明/提示

举个例子,分析第一个测试用例:

  • 为了让第 11 台咖啡机周围的学生人数最大化,只需要保持现状。
  • 为了让第 22 台咖啡机周围的学生人数最大化,只需在第 11 个房间关一次灯。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页