CF1954E.Chain Reaction

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

有 nn 个怪物排成一排,第 ii 个怪物有 aia_i 点生命值。

每秒你可以选择一个存活的怪物,对其释放一次“连锁闪电”。闪电会对该怪物造成 kk 点伤害,并向左(即 ii 递减方向)和右(即 ii 递增方向)传播,对每个存活的怪物也造成 kk 点伤害。当闪电遇到已死亡的怪物或到达队列的开头/结尾时停止。怪物的生命值严格大于 00 时视为存活。

例如,考虑如下情形:有三个怪物,生命值分别为 [5,2,7][5, 2, 7],k=3k=3。你可以在 44 秒内消灭所有怪物:

  • 对第 33 个怪物释放连锁闪电,生命值变为 [2,−1,4][2, -1, 4];
  • 对第 11 个怪物释放连锁闪电,生命值变为 [−1,−1,4][-1, -1, 4];
  • 对第 33 个怪物释放连锁闪电,生命值变为 [−1,−1,1][-1, -1, 1];
  • 对第 33 个怪物释放连锁闪电,生命值变为 [−1,−1,−2][-1, -1, -2]。

对于每个 kk 从 11 到 max⁡(a1,a2,…,an)\max(a_1, a_2, \dots, a_n),计算消灭所有怪物所需的最少秒数。

输入格式

第一行包含一个整数 nn(1≤n≤1051 \le n \le 10^5),表示怪物的数量。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(1≤ai≤1051 \le a_i \le 10^5),表示每个怪物的生命值。

输出格式

对于每个 kk 从 11 到 max⁡(a1,a2,…,an)\max(a_1, a_2, \dots, a_n),输出消灭所有怪物所需的最少秒数。

输入输出样例

  • 输入#1

    3
    5 2 7

    输出#1

    10 6 4 3 2 2 1
  • 输入#2

    4
    7 7 7 7

    输出#2

    7 4 3 2 2 2 1
  • 输入#3

    10
    1 9 7 6 2 4 7 8 1 3

    输出#3

    17 9 5 4 3 3 3 2 1

说明/提示

由 ChatGPT 4.1 翻译

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

首页