CF1784A.Monsters (easy version)
入门
通过率:0%
时间限制:4.00s
内存限制:512MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
This is the easy version of the problem. In this version, you only need to find the answer once. In this version, hacks are not allowed.
In a computer game, you are fighting against n monsters. Monster number i has ai health points, all ai are integers. A monster is alive while it has at least 1 health point.
You can cast spells of two types:
- Deal 1 damage to any single alive monster of your choice.
- Deal 1 damage to all alive monsters. If at least one monster dies (ends up with 0 health points) as a result of this action, then repeat it (and keep repeating while at least one monster dies every time).
Dealing 1 damage to a monster reduces its health by 1.
Spells of type 1 can be cast any number of times, while a spell of type 2 can be cast at most once during the game.
What is the smallest number of times you need to cast spells of type 1 to kill all monsters?
这是该问题的简单版本。在此版本中,你只需计算一次答案。在此版本中,不允许进行 Hack。
在一款电脑游戏中,你正在与 n 只怪物战斗。第 i 只怪物有 ai 点生命值,所有 ai 均为整数。只要怪物的生命值至少为 1,它就处于存活状态。
你可以施放两种类型的法术:
- 对任意一只存活的怪物造成 1 点伤害;
- 对所有存活的怪物各造成 1 点伤害。若此次施法导致至少一只怪物死亡(即生命值恰好降为 0),则立即重复此法术(并持续重复,直到某次施法不再导致任何怪物死亡为止)。
对怪物造成 1 点伤害会使其生命值减少 1。
类型 1 的法术可以施放任意多次,而类型 2 的法术在整个游戏中最多只能施放一次。
请问:要消灭所有怪物,最少需要施放多少次类型 1 的法术?
输入格式
Each test contains multiple test cases. The first line contains the number of test cases t (1≤t≤104). The description of the test cases follows.
Each test case consists of two lines. The first line contains a single integer n (1≤n≤2⋅105) — the number of monsters.
The second line contains n integers a1,a2,…,an (1≤ai≤n) — monsters' health points.
It is guaranteed that the sum of n over all test cases does not exceed 2⋅105.
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。随后是各测试用例的描述。
每个测试用例由两行组成。第一行包含一个整数 n(1≤n≤2⋅105)——怪物的数量。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤n)——怪物的生命值。
保证所有测试用例的 n 之和不超过 2⋅105。
输出格式
For each test case, print a single integer — the smallest number of times you need to cast spells of type 1 to kill all monsters.
对于每个测试用例,输出一个整数——即杀死所有怪物所需施放类型 1 法术的最少次数。
输入输出样例
输入#1
2 3 3 1 2 6 4 1 5 4 1 1
输出#1
0 4
说明/提示
In the first test case, the initial health points of the monsters are [3,1,2]. It is enough to cast a spell of type 2:
- Monsters' health points change to [2,0,1]. Since monster number 2 dies, the spell is repeated.
- Monsters' health points change to [1,0,0]. Since monster number 3 dies, the spell is repeated.
- Monsters' health points change to [0,0,0]. Since monster number 1 dies, the spell is repeated.
- Monsters' health points change to [0,0,0].
Since it is possible to use no spells of type 1 at all, the answer is 0.
In the second test case, the initial health points of the monsters are [4,1,5,4,1,1]. Here is one of the optimal action sequences:
- Using a spell of type 1, deal 1 damage to monster number 1. Monsters' health points change to [3,1,5,4,1,1].
- Using a spell of type 1, deal 1 damage to monster number 4. Monsters' health points change to [3,1,5,3,1,1].
- Using a spell of type 1, deal 1 damage to monster number 4 again. Monsters' health points change to [3,1,5,2,1,1].
- Use a spell of type 2:
- Monsters' health points change to [2,0,4,1,0,0]. Since monsters number 2, 5, and 6 die, the spell is repeated.
- Monsters' health points change to [1,0,3,0,0,0]. Since monster number 4 dies, the spell is repeated.
- Monsters' health points change to [0,0,2,0,0,0]. Since monster number 1 dies, the spell is repeated.
- Monsters' health points change to [0,0,1,0,0,0].
- Using a spell of type 1, deal 1 damage to monster number 3. Monsters' health points change to [0,0,0,0,0,0].
Spells of type 1 are cast 4 times in total. It can be shown that this is the smallest possible number.
在第一个测试用例中,怪物的初始生命值为 [3,1,2]。仅需施放一次类型 2 的法术即可:
- 怪物的生命值变为 [2,0,1]。由于编号为 2 的怪物死亡,该法术被重复施放。
- 怪物的生命值变为 [1,0,0]。由于编号为 3 的怪物死亡,该法术被重复施放。
- 怪物的生命值变为 [0,0,0]。由于编号为 1 的怪物死亡,该法术被重复施放。
- 怪物的生命值变为 [0,0,0]。
由于可以完全不使用任何类型 1 的法术,因此答案为 0。
在第二个测试用例中,怪物的初始生命值为 [4,1,5,4,1,1]。以下是一种最优操作序列:
- 施放一次类型 1 的法术,对编号为 1 的怪物造成 1 点伤害。怪物的生命值变为 [3,1,5,4,1,1]。
- 施放一次类型 1 的法术,对编号为 4 的怪物造成 1 点伤害。怪物的生命值变为 [3,1,5,3,1,1]。
- 再次施放一次类型 1 的法术,对编号为 4 的怪物造成 1 点伤害。怪物的生命值变为 [3,1,5,2,1,1]。
- 施放一次类型 2 的法术:
- 怪物的生命值变为 [2,0,4,1,0,0]。由于编号为 2、5 和 6 的怪物死亡,该法术被重复施放。
- 怪物的生命值变为 [1,0,3,0,0,0]。由于编号为 4 的怪物死亡,该法术被重复施放。
- 怪物的生命值变为 [0,0,2,0,0,0]。由于编号为 1 的怪物死亡,该法术被重复施放。
- 怪物的生命值变为 [0,0,1,0,0,0]。
- 施放一次类型 1 的法术,对编号为 3 的怪物造成 1 点伤害。怪物的生命值变为 [0,0,0,0,0,0]。
类型 1 的法术总共被施放了 4 次。可以证明这是最小可能的次数。
输入解题思路,AI测评打分。不知道怎么写?