CF2057H.Coffee Break
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
T-Generation 的课程十分漫长。在一天中,必须安排时间来分析训练和专题比赛,讲解新内容,并在可能的情况下,举行一个小型研讨会。因此,课间休息时学生们会去喝咖啡或聊天。
走廊上总共有 n+2 台咖啡机,依次排列。咖啡机编号从 0 到 n+1,当休息开始时,第 i 台咖啡机周围聚集了 ai 名学生。
由于学生们说话声太大,老师需要进行一个重要的通知。因此,他们希望将尽可能多的学生聚集到某一台咖啡机周围。不过,老师们懒得亲自去召集学生,想出了一种巧妙的方法:
- 随时可以选择房间 i(1≤i≤n)并关闭那里的灯;
- 如果该房间有 x 名学生,关灯后,⌊21x⌋ 名学生会去左边的房间 (i−1),另外 ⌊21x⌋ 名学生会去右边的房间 (i+1);
- 如果 x 是奇数,则有一名学生留在原位;
- 随后再次打开房间 i 的灯。
老师们尚未决定最终要在何处聚集学生,因此需要计算,对于每个 i 从 1 到 n,在第 i 台咖啡机周围最多能聚集多少名学生。
老师们可以任意顺序、任意次数选择关灯,可以在同一个房间多次操作。
需要注意的是,a0 和 an+1 的值对结果没有影响,因此不需要考虑这两个值。
输入格式
第一行输入一个整数 t(1≤t≤10000),表示测试用例的数量。
每个测试用例的第一行包含一个整数 n(1≤n≤106)。
接下来一行是 n 个整数 a1,…,an(0≤ai≤109),表示学生在编号为 1,2,…,n 的咖啡机周围的人数。
保证所有测试用例中的 n 之和不超过 106。
输出格式
对于每个测试用例,输出 n 个整数 b1,…,bn,其中 bi 表示在编号为 i 的咖啡机周围最多能聚集的学生人数。
输入输出样例
输入#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
说明/提示
举个例子,分析第一个测试用例:
- 为了让第 1 台咖啡机周围的学生人数最大化,只需要保持现状。
- 为了让第 2 台咖啡机周围的学生人数最大化,只需在第 1 个房间关一次灯。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?