CF1990C Mad MAD Sum
题目描述
我们定义数组中的 MAD(最大重复出现数)为数组中出现至少两次的最大数字。具体来说,如果没有任何数字出现至少两次,则 MAD 的值为 0。
例如,MAD([1,2,1])=1,MAD([2,2,3,3])=3,MAD([1,2,3,4])=0。
给定一个长度为 n 的数组 a。初始时,有一个变量 sum,其值为 0。
执行如下过程,直到 a 中所有数字都变为 0 为止,循环进行:
- 令 sum:=sum+∑i=1nai;
- 令 b 为长度为 n 的数组。对于所有 1≤i≤n,令 $ b_i :=\ \operatorname{MAD}([a_1, a_2, \ldots, a_i]) $,然后对于所有 1≤i≤n,令 ai:=bi。
请你求出该过程结束后 sum 的值。
输入格式
第一行包含一个整数 t(1≤t≤2⋅104),表示测试用例的数量。
对于每个测试用例:
- 第一行包含一个整数 n(1≤n≤2⋅105),表示数组 a 的长度;
- 第二行包含 n 个整数 a1,a2,…,an(1≤ai≤n),表示数组的元素。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每个测试用例,输出一个整数,表示该过程结束后 sum 的值,每个测试用例输出一行。
输入输出样例 #1
输入 #1
4
1
1
3
2 2 3
4
2 1 1 2
4
4 4 4 4
输出 #1
1
13
9
40
说明/提示
在第一个测试用例中,初始时 a=[1]。
第一次循环:
- 令 sum:=sum+a1=0+1=1;
- 令 $ b_1 :=\ \operatorname{MAD}([a_1])=\ \operatorname{MAD}([1])=0 $,然后令 a1:=b1。
第一次循环后,a=[0],过程结束。最终 sum=1。
在第二个测试用例中,初始时 a=[2,2,3]。
第一次循环后,a=[0,2,2],sum=7。
第二次循环后,a=[0,0,2],sum=11。
第三次循环后,a=[0,0,0],sum=13,过程结束。
最终 sum=13。
由 ChatGPT 4.1 翻译