#ABC328G. 切割与重排
切割与重排
切割与重排
题目描述
给定两个长度为 的序列 和 。
可以对序列 以任意顺序进行任意多次以下两种操作:
-
在任意位置切割 ,并自由地重新排列切割后的各个片段。每个切割位置花费 。 更形式化地说,花费 ,取长度为 的序列 $(i_0,i_1,i_2,\ldots,i_X)\ (0=i_0\lt i_1\lt i_2\lt\cdots\lt i_X=N)$ 和 的一个排列 ,将 替换为按 升序排列的 $(A_{i_{p_j-1}+1},A_{i_{p_j-1}+2},\ldots,A_{i_{p_j}})$ 的拼接。
-
选择一个整数 和 中的任意一个元素,将该元素的值加上 ,花费为 。
求通过执行操作使 和 相等所需的最小总花费。
输入格式
输入按以下格式从标准输入给出:
输出格式
输出答案。
样例
5 1
3 1 4 1 5
9 2 6 5 3
12
例如,可以通过执行以下操作使 和 相等。
给 加上 。花费为 , 变为 。
给 加上 。花费为 , 变为 。
给 加上 。花费为 , 变为 。
将 切分为 和 ,并交换它们的顺序。花费为 , 变为 。
给 加上 。花费为 , 变为 。
给 加上 。花费为 , 变为 。
给 加上 。花费为 , 变为 。
总花费为 。
无法用总花费 或更少使 和 相等,因此输出 。
5 1000000000
3 1 4 1 5
9 2 6 5 3
15
例如,可以通过执行以下操作使 和 相等。
给 加上 。花费为 , 变为 。
给 加上 。花费为 , 变为 。
给 加上 。花费为 , 变为 。
给 加上 。花费为 , 变为 。
给 加上 。花费为 , 变为 。
总花费为 。
无法用总花费 或更少使 和 相等,因此输出 。
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
4370668608634071
注意输入和答案可能超出 整数能表示的范围。
数据范围
- 输入均为整数。
难度
省选/NOI-
通过率
—
尝试
0
已通过
0
- ID
- 3122
- 类型
- 传统题
- Time Limit
- 2800ms
- Memory Limit
- 512MiB
- 上传者