#CF1852C. 山中的伊娜

山中的伊娜

山中的伊娜

  • 时间限制:2 秒
  • 内存限制:256 MiB

题目描述

山路上依次站着 nn 只章鱼,编号为 1,2,…,n1,2,\ldots,n。第 ii 只章鱼的初始生命值为 aia_i,且 1≤ai≤k1\le a_i\le k。

每次可以选择一个区间 [l,r][l,r],使其中每只章鱼的生命值减少 11。如果某只章鱼的生命值因此变成 00,它会立刻恢复为 kk。

求至少需要进行多少次操作,才能使所有章鱼的生命值都等于 kk。

输入格式

第一行一个整数 tt,表示测试用例数。

每个测试用例的第一行包含两个整数 n,kn,k。第二行包含 nn 个整数 a1,a2,…,ana_1,a_2,\ldots,a_n。

输出格式

对每个测试用例输出一行一个整数,表示所需操作次数的最小值。

样例输入

2
4 3
1 2 1 3
7 3
1 2 3 1 3 2 1

样例输出

2
4

样例解释

第一个测试用例可以依次操作区间 [1,3][1,3] 和 [2,2][2,2]。

第二个测试用例可以依次操作区间 [1,7][1,7]、[2,6][2,6]、[3,5][3,5] 和 [4,4][4,4]。

数据范围

1≤t≤1051\le t\le10^5,1≤n≤2×1051\le n\le2\times10^5,1≤k≤1091\le k\le10^9,1≤ai≤k1\le a_i\le k;所有测试用例的 nn 之和不超过 2×1052\times10^5。

令 bi=ai mod kb_i=a_i\bmod k。

子任务编号 分值 特殊限制
1 30 每个 n≤40n\le40
2 b1≤b2≤⋯≤bnb_1\le b_2\le\cdots\le b_n
3 40 无特殊限制