题目描述
给出一个长度为 n 的单调不降整数数列 {ai} 和一个整数 k。
我们定义两个长度均为 p 的序列 {xi},{yi} 的「差异度」F(x,y,p)=∑i=1p∣xi−yi∣。
现在对于每个整数 l∈[1,n],你都需要构造一个长度为 l 的序列 {bl,i}。满足对于任意 1≤i<l,bl,i+1≥bl,i+k;且 F(a[1⋯l],bl,l) 最小。其中 a[1⋯l] 表示 {ai} 的长度为 l 的前缀,即 {a1,a2,⋯,al}。注意,bl,i 没必要是整数。
输入格式
第一行输入两个整数 n,k。
第二行输入 n 个整数,代表 {ai}。
第三行输入一个整数 T,代表答案输出方式。具体解释请参考「输出格式」。
输出格式
- 若 T=0,则输出 n 个整数,每个整数单独占一行。第 l 行的整数代表 F(a[1⋯l],bl,l)。
- 若 T=1,则你仅需输出一行一个整数,表示 F(a,bn,n)。
提示
样例解释
样例 #1
如下是一种可能的构造方案:
b1b2b3b4b5={2}={2,4}={1,3,5}={1,3,5,7}={0,2,4,6,8}样例 #2
如下是一种可能的构造方案:
b1b2b3b4b5b6={1}={0,2}={0,2,4}={0,2,4,6}={−1,1,3,5,7}={−1,1,3,5,7,9}样例 #3
同样例 #2,只不过 T=1,你只需要输出 F(a,b6,6)=5 即可。
数据范围及约定
subtask123分值303040n≤100105106T=001k,ai≤100106106subtask 依赖−1−对于 100% 的数据,1≤n≤106,1≤k,ai≤106,T∈{0,1}。