CF2107F1.Cycling (Easy Version)
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
这是此问题的简单版本,和其他版本的区别是此版本中 n≤5000,且你不需要对每个前缀都求解。
Leo 骑车去见他的女朋友。在 Leo 的前面有 n 名骑手,从前往后排在第 i 名的骑手的灵活度为 ai。
Leo 将要加速超过前面的所有骑手,他可以执行以下两种操作:
- 当他在骑手 i 后面,骑手 i+1 前面(或 i=n)时,付出 ai 的代价超过骑手 i,之后他将在骑手 i 前面,骑手 i−1 后面(如果 i>1);
- 使用他的超级力量交换 ai 和 aj,代价为 ∣i−j∣。
请你找出超过所有 n 名骑手的最小代价。
输入格式
多组数据,第一行一个整数 t(1≤t≤1000),表示数据组数。
对于每组数据,第一行一个整数 n(1≤n≤5000)。
第二行 n 个整数 a1,a2,⋯,an(1≤ai≤109)。
保证单个测试点中 ∑n≤5000。
输出格式
对于每组数据,输出一行一个整数,表示答案。
输入输出样例
输入#1
4 3 1 2 4 4 1 1 1 1 2 1 2 4 4 1 3 2
输出#1
7 4 3 8
说明/提示
样例解释
第一组数据中,一组操作如下所示:
- 交换 a2 和 a3,之后 a=(1,4,2),代价为 1;
- 超过第 3 名骑手,代价为 2;
- 交换 a1 和 a2,a=(4,1,2),代价为 1;
- 超过第 2 名骑手,代价为 1;
- 交换 a1 和 a2,a=(1,4,2),代价为 1;
- 超过第 1 名骑手,代价为 1。
总代价为 7。可以证明这是最小的代价。
第二组数据中如果一直执行“超过”操作,花费为 4。可以证明这是最小的代价。
By chenxi2009
输入解题思路,AI测评打分。不知道怎么写?