CFCF2137E.Mexification

普及+/提高

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 nn 的数组 aa 和一个整数 kk,执行如下操作 kk 次:

  • 对于每个元素 aia_i,令 aia_i 的值为 mex(a1,a2,...,ai1,ai+1,ai+2,...,an)\operatorname{mex}(a_1,a_2,...,a_{i-1},a_{i+1},a_{i+2},...,a_n)。即:令 aia_i 的值为其他所有元素的 mex\operatorname{mex}。该计算是对所有元素同时进行的。

请计算数组在 kk 次操作之后所有元素之和。

对于整数集合 d={d1,d2,...dn}d=\{d_1,d_2,...d_n\}mex(d)\operatorname{mex}(d) 定义为最小的且不包含在 dd 中的非负整数。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例数量 tt,满足 t104t \leq 10^4。接下来,对于各个测试用例:

  • 第一行包含两个整数 nnkk,表示数组 aa 元素个数以及操作次数。保证 2n2×1052 \leq n \leq 2\times10^51k1091 \leq k \leq 10^9
  • 第二行包含 nn 个整数,依次表示 a1,a2,...ana_1,a_2,...a_n,保证对于任意 aia_i0ain0 \leq a_i \leq n

保证所有测试用例的 nn 的和不会超过 2×1052 \times 10^5

输出格式

每个测试用例一行,输出 kk 次操作之后所有元素的和。

输入输出样例

  • 输入#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][0,2,1] 上执行三次操作。第一次操作的结果如下:

  • 第一个元素变为 mex(2,1)=0\operatorname{mex}(2,1)=0
  • 第二个元素变为 mex(0,1)=2\operatorname{mex}(0,1)=2
  • 第三个元素变为 mex(0,2)=1\operatorname{mex}(0,2)=1

故第一次操作后,数组 [0,2,1][0,2,1] 仍然变为 [0,2,1][0,2,1]。可以看出不论操作多少次,数组均不会发生变化。所以三次操作后的最终结果仍为 [0,2,1][0,2,1],总和为 0+2+1=30+2+1=3

对于第三个测试用例,数组变为 [2,2,2,2][2,2,2,2]

首页