#CF2124B. 最小化和

最小化和

B. 最小化和
时间限制:1.5 秒
内存限制:256 兆字节

本题与问题 G 不同。本题中,你需要在至多一次操作后输出前缀最小值的和的最小值。

给定一个长度为 nn 的数组 aa,元素满足 0ain0 \le a_i \le n。你可以执行至多一次如下操作:

  • 选择两个下标 iijj 满足 i<ji < j。令 ai:=ai+aja_i := a_i + a_j,然后令 aj=0a_j = 0

输出可能得到的最小值

$$\min(a_1) + \min(a_1, a_2) + \dots + \min(a_1, a_2, \dots, a_n)。 $$

输入
每个测试包含多个测试用例。第一行包含测试用例数 tt1t1041 \le t \le 10^4)。

每个测试用例的第一行包含一个整数 nn2n21052 \le n \le 2 \cdot 10^5)—— 数组 aa 的长度。

接下来一行包含 nn 个空格分隔的整数 a1,a2,,ana_1, a_2, \dots, a_n0ain0 \le a_i \le n)—— 数组 aa

保证所有测试用例的 nn 之和不超过 21052 \cdot 10^5


输出
对于每个测试用例,输出一行一个整数,表示可能得到的前缀最小值之和的最小值。


样例
输入

3
2
1 2
3
1 2 3
4
3 0 2 3

输出

2
2
3

说明

  • 第二个测试用例中,最优操作是选择 i=2i=2j=3j=3
  • 第三个测试用例中,最优操作是不进行任何操作,答案为 33