CF2061I.Kevin and Nivek
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Kevin 和 Nivek 正在争夺 "最佳 Kevin" 的称号。他们计划通过 n 场比赛决出胜负。
第 i 场比赛有两种类型:
- 类型 1:Kevin 需要花费 ai 时间才能击败 Nivek 赢得比赛。如果 Kevin 不花费 ai 时间,Nivek 将赢得此比赛。
- 类型 2:比赛结果取决于他们的历史记录。如果截止到本场比赛 Kevin 的胜场数大于或等于 Nivek 的,则 Kevin 获胜,否则 Nivek 获胜。
Kevin 想知道确保自己至少赢得 k 场比赛所需花费的最小时间。
请输出 k=0,1,…,n 时的答案。
输入格式
每个测试包含多个测试用例。第一行包含测试用例数量 t(1≤t≤104)。接下来是各个测试用例的描述。
每个测试用例的第一行包含一个整数 n(1≤n≤3⋅105)—— 比赛场数。
第二行包含 n 个整数 a1,a2,…,an(−1≤ai≤109)。
若 ai=−1,则第 i 场比赛为类型 2。否则,第 i 场比赛为类型 1,且 ai 表示 Kevin 赢得该比赛需要花费的时间。
保证所有测试用例的 n 之和不超过 3⋅105。
输出格式
对于每个测试用例,输出 n+1 个整数。第 i 个整数表示至少赢得 i−1 场比赛所需的最小时间。
输入输出样例
输入#1
3 5 -1 -1 -1 -1 -1 5 3 2 5 4 1 5 100 -1 -1 -1 1
输出#1
0 0 0 0 0 0 0 1 3 6 10 15 0 1 100 100 100 101
说明/提示
第一个测试用例中,所有比赛均为类型 2。Kevin 可以自动赢得所有比赛。
第二个测试用例中,所有比赛均为类型 1。Kevin 可以按 ai 递增的顺序选择比赛。
第三个测试用例中:
- 如果 Kevin 在第 1 场比赛花费 a1 时间,他可以赢得第 1、2、3、4 场比赛。
- 如果 Kevin 在第 5 场比赛花费 a5 时间,他可以赢得第 5 场比赛。
- 如果 Kevin 在第 1 场比赛花费 a1 时间并在第 5 场比赛花费 a5 时间,他可以赢得所有比赛。
翻译由 DeepSeek R1 完成
输入解题思路,AI测评打分。不知道怎么写?