CF2029C.New Rating
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你好,Codeforces Forcescode!
Kevin 曾经是 Codeforces 的参赛者。最近,KDOI 团队开发了一个新的在线评测系统,名为 Forcescode。
Kevin 在 Forcescode 上参加了 n 场比赛。在第 i 场比赛中,他的表现分数为 ai。
现在他已经入侵了 Forcescode 的后台,并将选择一个区间 [l,r](1≤l≤r≤n),然后跳过该区间内的所有比赛。之后,他的评分将按照以下方式重新计算:
- 初始时,他的评分为 x=0;
- 对于每个 1≤i≤n,在第 i 场比赛后,
- 如果 l≤i≤r,则跳过该场比赛,评分保持不变;
- 否则,按照以下规则更新评分:
- 如果 ai>x,则他的评分 x 增加 1;
- 如果 ai=x,则评分 x 保持不变;
- 如果 ai<x,则评分 x 减少 1。
你需要帮助 Kevin,在他最优选择区间 [l,r] 的情况下,求出重新计算后他可能获得的最大评分。注意,Kevin 必须至少跳过一场比赛。
输入格式
每个测试用例包含多组数据。输入的第一行包含一个整数 t(1≤t≤5⋅104),表示测试用例的组数。接下来是每组测试用例的描述。
每组测试用例的第一行包含一个整数 n(1≤n≤3⋅105),表示比赛场数。
第二行包含 n 个整数 a1,a2,…,an(1≤ai≤n),表示每场比赛的表现分数。
保证所有测试用例中 n 的总和不超过 3⋅105。
输出格式
对于每组测试用例,输出一个整数,表示 Kevin 在最优选择区间后重新计算可能获得的最大评分。
输入输出样例
输入#1
5 6 1 2 3 4 5 6 7 1 2 1 1 1 3 4 1 1 9 9 9 8 2 4 4 3 5 3 10 1 2 3 4 1 3 2 1 1 10
输出#1
5 4 0 4 5
说明/提示
在第一个测试用例中,Kevin 必须至少跳过一场比赛。如果他选择任意长度为 1 的区间,他重新计算后的评分将等于 5。
在第二个测试用例中,Kevin 的最优选择是区间 [3,5]。重新计算时,他的评分变化如下:
0a1=11a2=22skip2skip2skip2a6=33a7=44
在第三个测试用例中,Kevin 必须跳过唯一的一场比赛,因此评分将保持初始值 0。
在第四个测试用例中,Kevin 的最优选择是区间 [7,9]。重新计算时,他的评分变化如下:
0a1=91a2=92a3=83a4=22a5=43a6=44skip4skip4skip4
在第五个测试用例中,Kevin 的最优选择是区间 [5,9]。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?