CFCF2137E.Mexification
普及+/提高
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 n 的数组 a 和一个整数 k,执行如下操作 k 次:
- 对于每个元素 ai,令 ai 的值为 mex(a1,a2,...,ai−1,ai+1,ai+2,...,an)。即:令 ai 的值为其他所有元素的 mex。该计算是对所有元素同时进行的。
请计算数组在 k 次操作之后所有元素之和。
对于整数集合 d={d1,d2,...dn},mex(d) 定义为最小的且不包含在 d 中的非负整数。
输入格式
每个测试点包含多个测试用例。第一行包含测试用例数量 t,满足 t≤104。接下来,对于各个测试用例:
- 第一行包含两个整数 n 和 k,表示数组 a 元素个数以及操作次数。保证 2≤n≤2×105 且 1≤k≤109;
- 第二行包含 n 个整数,依次表示 a1,a2,...an,保证对于任意 ai 有 0≤ai≤n。
保证所有测试用例的 n 的和不会超过 2×105。
输出格式
每个测试用例一行,输出 k 次操作之后所有元素的和。
输入输出样例
输入#1
5 3 3 0 2 1 2 4 0 2 4 1 0 0 1 1 8 7 6 6 2 4 3 0 1 8 2 2 0 0
输出#1
3 1 8 25 0
说明/提示
对于第一个测试用例,在数组 [0,2,1] 上执行三次操作。第一次操作的结果如下:
- 第一个元素变为 mex(2,1)=0;
- 第二个元素变为 mex(0,1)=2;
- 第三个元素变为 mex(0,2)=1;
故第一次操作后,数组 [0,2,1] 仍然变为 [0,2,1]。可以看出不论操作多少次,数组均不会发生变化。所以三次操作后的最终结果仍为 [0,2,1],总和为 0+2+1=3。
对于第三个测试用例,数组变为 [2,2,2,2]。