CFCF2165A.Cyclic Merging
普及/提高-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定 n 个非负整数 a1,a2,…,an,这些数排成一个环。对于每个 1≤i<n,ai 与 ai+1 相邻;a1 与 an 也相邻。
你需要恰好进行 n−1 次如下操作:
- 每次选择环上任意一对相邻的元素,记它们的值分别为 x 和 y,将它们合并为一个值为 max(x,y) 的元素,花费为 max(x,y)。
注意,每次操作会使环的长度减少 1,相邻关系也会随之更新。
请计算将环合并为一个元素的最小总花费。
输入格式
每组测试数据包含多组测试用例。第一行为测试用例数 t,满足 1≤t≤104。接下来是 t 组测试用例。
每组测试用例的第一行包含一个整数 n,2≤n≤2⋅105。
接下来一行包含 n 个整数 a1,a2,…,an,满足 0≤ai≤109。
保证所有测试用例中 n 之和不超过 2⋅105。
输出格式
对于每组测试用例,输出一个整数,表示将环合并为一个元素所需的最小总花费。
输入输出样例
输入#1
3 4 1 1 3 2 2 0 2 7 1 1 4 5 1 4 1
输出#1
6 2 19
说明/提示
在第一个测试用例中,我们可以对 [1,1,3,2] 取得总花费 6,具体如下:
- 合并下标 1 和 2,花费 1,环变为 [1,3,2];
- 合并下标 1 和 3,花费 2,环变为 [3,2];
- 合并下标 1 和 2,花费 3,环变为 [3]。
总花费为 1+2+3=6。可以证明这是最小的,总花费不能更低,因此答案为 6。
在第二个测试用例中,唯一的选择是将两个元素合并,花费 2。