CF2108F.Fallen Towers
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Pizano 建造了一个由 n 座高塔组成的数组 a,每座高塔由 ai≥0 个方块组成。
Pizano 可以推倒一座高塔,使得接下来的 ai 座高塔各增加 1 个方块。换句话说,他可以选取元素 ai,将接下来的 ai 个元素各加 1,然后将 ai 设为 0。如果推倒的高塔方块数超出数组范围,则这些方块会消失。如果 Pizano 推倒一座 0 方块的高塔,则不会发生任何变化。
Pizano 希望以任意顺序推倒所有 n 座高塔,每座高塔恰好被推倒一次。也就是说,对于每个 i 从 1 到 n,他将恰好推倒位置 i 的高塔一次。
此外,最终的高塔高度数组必须是非递减的。这意味着在他推倒所有 n 座高塔后,对于任意 i<j,位置 i 的高塔高度不能超过位置 j 的高塔高度。
你需要输出最终高塔高度数组的最大 MEX 值。
MEX 是指数组中缺失的最小非负整数。
输入格式
每个测试包含多个测试用例。第一行包含测试用例的数量 t(1≤t≤104)。接下来是测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤105)——高塔的数量。
每个测试用例的第二行包含 n 个整数——高塔的初始高度 a1,…,an(0≤ai≤109)。
保证所有测试用例的 n 之和不超过 105。
输出格式
对于每个测试用例,输出一个整数——最终数组的最大 MEX 值。
输入输出样例
输入#1
8 2 1 2 4 2 1 0 0 10 5 9 3 7 1 5 1 5 4 3 10 1 1 1 1 1 1 1 1 1 1 10 3 2 1 0 3 2 1 0 3 2 5 5 2 0 5 5 1 1000000000 7 4 0 1 0 2 7 7
输出#1
2 3 7 4 5 4 1 3
说明/提示
第一个测试用例的解释:

第二个测试用例的解释:注意所有高塔都被恰好推倒一次,且最终的高度数组是非递减的。

翻译由 DeepSeek V3 完成
输入解题思路,AI测评打分。不知道怎么写?