#P14353. 重排

重排

题目描述

给定长度为 nn 的正整数序列 aa,求 g(a)g(a) 的值:

$$g(a)=\max_{a'}\{f(a')\}\\ f(a)=\sum_{i=2}^{n} |a_{i}-a_{i-1}|$$

其中,a′a' 是序列 aa 经过任意重排后得到的任意一个序列。

但是这实在是一个三岁小宝宝都会的简单题,因此你想对 mm 个序列都求出上述式子的最大值,这 mm 个序列满足以下条件。

  • 第 ii 个序列 pip_i 长度为 ii。
  • 第一个序列 p1p_1 为 [b1′=b1][b'_1=b_1]。
  • 第 ii(2≤i≤m2\leq i\leq m)个序列 pip_i 满足:对于任意满足 1≤j<i1\leq j<i 的正整数 jj 满足 pi,j=pi−1,jp_{i,j}=p_{i-1,j},且 pi,i=bi′=bi⊕(T⋅g(pi−1))p_{i,i} = b'_i=b_i\oplus (T\cdot g(p_{i-1}))。

其中,⊕\oplus 表示二进制按位异或。

输入格式

第一行两个非负整数 mm 和 TT,分别表示你需要求出重排后 ff 最大值的序列个数以及生成序列参数。

第二行 mm 个非负整数表示 b1,…,bmb_1,\dots,b_m。

注意:【数据范围】一节仅对 bi′b'_i 的范围做出了保证,没有对 bib_i 的范围做出保证。

输出格式

共一行一个非负整数,为 ⊕i=1mg(pi)\oplus_{i=1}^{m} g(p_i)。

5 0
1 2 3 4 5
14
8 0
5 2 7 1 4 3 8 6
2

提示

【样例解释 #1】

g(p1),g(p2),…,g(pm)g(p_1),g(p_2),\dots,g(p_m) 分别为 0,1,3,7,110,1,3,7,11。

令 pi′p'_i 为 pip_i 重排后任意满足 f(pi′)f(p'_i) 最大的序列。

p1=[1]p_1=[1],p1′=[1]p'_1=[1],f(p1′)=0f(p'_1)=0。

p2=[1,2]p_2=[1,2],p2′=[1,2]p'_2=[1,2],f(p2′)=∣1−2∣=1f(p'_2)=|1-2|=1。

p3=[1,2,3]p_3=[1,2,3],p3′=[1,3,2]p'_3=[1,3,2],f(p3′)=∣1−3∣+∣3−2∣=3f(p'_3)=|1-3|+|3-2|=3。

p4=[1,2,3,4]p_4=[1,2,3,4],p4′=[3,1,4,2]p'_4=[3,1,4,2],f(p4′)=∣3−1∣+∣1−4∣+∣4−2∣=7f(p'_4)=|3-1|+|1-4|+|4-2|=7。

p5=[1,2,3,4,5]p_5=[1,2,3,4,5],p5′=[4,2,5,1,3]p'_5=[4,2,5,1,3],f(p5′)=∣4−2∣+∣2−5∣+∣5−1∣+∣1−3∣=11f(p'_5)=|4-2|+|2-5|+|5-1|+|1-3|=11。

该样例满足测试点 11 的限制。

【样例解释 #2】

g(p1),g(p2),…,g(pm)g(p_1),g(p_2),\dots,g(p_m) 分别为 0,3,8,15,17,19,27,310,3,8,15,17,19,27,31。

该样例满足测试点 33 的限制。

【数据范围】

对于全部测试点:1≤m≤3×1061\leq m\leq 3\times 10^6,1≤bi′≤1091\leq b'_i\leq 10^9,T∈{0,1}T\in \{0,1\}。

测试点编号 m≤m\leq T=T= 特殊性质
11 88 00 AB
22 100100
33 10310^3
44 2×1052\times 10^5
55 A
66 11 AB
77 A
88 无
99 10610^6
1010 3×1063\times 10^6

特殊性质 A:bi′≤mb'_i\leq m(1≤i≤m1\leq i\leq m)。

特殊性质 B:bi′≠bj′b'_i\neq b'_j(1≤i<j≤m1\leq i<j\leq m)。