#aBC328G. [ABC328G] Cut and Reorder

[ABC328G] Cut and Reorder

AT_abc328_g [ABC328G] Cut and Reorder

题目描述

给定长度为 NN 的数列 A=(A1,A2,,AN)A=(A_1,A_2,\ldots,A_N)B=(B1,B2,,BN)B=(B_1,B_2,\ldots,B_N)

你可以对数列 AA 进行如下两种操作,操作的顺序和次数均不限:

  • 可以在任意位置将 AA 分割,并将分割后的各段自由重新排列。每分割一次(即每增加一个分割点)需要花费 CC 的代价。具体来说,花费 (X1)C(X-1)C 的代价,可以任选一个长度为 X+1X+1 的分割点序列 $(i_0,i_1,i_2,\ldots,i_X)\ (0=i_0<i_1<i_2<\cdots<i_X=N)$ 和 (1,2,,X)(1,2,\ldots,X) 的任意排列 pp,然后将 $(A_{i_{p_j-1}+1},A_{i_{p_j-1}+2},\ldots,A_{i_{p_j}})$ 按照 jj 的升序依次连接,得到新的 AA
  • 可以任选 AA 的一个元素和一个整数 kk,将该元素加上 kk,花费 k|k| 的代价。

请你通过若干次操作,使得最终 AABB 完全相同,求所需总代价的最小值。

输入格式

输入以如下格式从标准输入读入:

NN CC A1A_1 A2A_2 \ldots ANA_N B1B_1 B2B_2 \ldots BNB_N

输出格式

请输出答案。

输入输出样例 #1

输入 #1

5 1
3 1 4 1 5
9 2 6 5 3

输出 #1

12

输入输出样例 #2

输入 #2

5 1000000000
3 1 4 1 5
9 2 6 5 3

输出 #2

15

输入输出样例 #3

输入 #3

22 467772225675200
814424018890229 837987908732596 281175505732576 405797525366223 319378664987871 305374284356649 519144936694626 316916938328237 590332737480143 506785561790072 945769796193819 365498597798550 5386616044591 672368930784037 478017750715806 340276460237787 176509793332130 2734777402752 677509027289850 250325127275409 260270543315523 103584313625431
720386673780641 77160494100361 540947273460639 255177791002759 969333325196025 477751866935037 369600749728569 466236682780196 343161112138696 541310338013515 42740499599240 165778332156355 618106559852784 16582487395877 591851763813728 221861304303645 982850624742022 728669467505250 337968530842725 746724490610504 61587851254728 451153536869240

输出 #3

4370668608634071

说明/提示

限制条件

  • 1N221\leq N\leq 22
  • 1C10151\leq C\leq 10^{15}
  • 1Ai1015 (1iN)1\leq A_i\leq 10^{15}\ (1\leq i\leq N)
  • 1Bi1015 (1iN)1\leq B_i\leq 10^{15}\ (1\leq i\leq N)
  • 输入均为整数

样例解释 1

例如,可以通过如下操作使 AABB 相等:

  • A2A_2 加上 22,花费 22A=(3,3,4,1,5)A=(3,3,4,1,5)
  • A4A_4 加上 11,花费 11A=(3,3,4,2,5)A=(3,3,4,2,5)
  • A3A_3 加上 33,花费 33A=(3,3,7,2,5)A=(3,3,7,2,5)
  • AA 分割为 (3,3)(3,3)(7,2,5)(7,2,5),并交换顺序,花费 11A=(7,2,5,3,3)A=(7,2,5,3,3)
  • A3A_3 加上 11,花费 11A=(7,2,6,3,3)A=(7,2,6,3,3)
  • A4A_4 加上 22,花费 22A=(7,2,6,5,3)A=(7,2,6,5,3)
  • A1A_1 加上 22,花费 22A=(9,2,6,5,3)A=(9,2,6,5,3)

总代价为 2+1+3+1+1+2+2=122+1+3+1+1+2+2=12。无法用 1111 或更少的代价使 AABB 相等,因此输出 1212

样例解释 2

例如,可以通过如下操作使 AABB 相等:

  • A1A_1 加上 66,花费 66A=(9,1,4,1,5)A=(9,1,4,1,5)
  • A2A_2 加上 11,花费 11A=(9,2,4,1,5)A=(9,2,4,1,5)
  • A3A_3 加上 22,花费 22A=(9,2,6,1,5)A=(9,2,6,1,5)
  • A4A_4 加上 44,花费 44A=(9,2,6,5,5)A=(9,2,6,5,5)
  • A5A_5 加上 2-2,花费 22A=(9,2,6,5,3)A=(9,2,6,5,3)

总代价为 1515。无法用 1414 或更少的代价使 AABB 相等,因此输出 1515

样例解释 3

输入和答案可能超出 32bit32\operatorname{bit} 整数范围。

由 ChatGPT 4.1 翻译