传统题 文件IO:ins 1000ms 1024MiB

ins

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题面 样例

题目描述

有一个长度为 nn 的序列 p1,p2,...,pnp_1,p_2,...,p_n,满足 pi=ip_i=i。你需要依次进行 kk 次操作,每次操作形如:

选择一个参数 x[0,n)x\in [0,n),将 pp 的最后 xx 个元素取出,将这 xx 个元素重新插入到前 nxn-x 个元素中。插入的位置可以不连续,但是必须保证这 xx 个元素的相对顺序不变。例如 p={1,2,3,4,5},x=2p=\{1,2,3,4,5\},x=2,则可能的操作结束后的序列有 $\{4,1,2,5,3\},\{1,2,4,5,3\},\{1,4,2,3,5\},\{1,2,3,4,5\}$ 等。

kk 次操作选择的参数为 x1,x2,..,xkx_1,x_2,..,x_k。则操作总代价为 i=1kcixi\sum_{i=1}^{k}c_ix_i

现在给出一个序列 q1,q2,...,qnq_1,q_2,...,q_n。问能否将 pp 通过上述的 kk 次操作变化为 qq。若能,则需要求出最小的操作代价。

输入格式

ins.in 中读入。

第一行两个正整数 n,kn,k

第二行 kk 个正整数 c1,c2,...,ckc_1,c_2,...,c_k

第三行 nn 个正整数 q1,q2,...,qnq_1,q_2,...,q_n

输出格式

输出到 ins.out 中。

如果无解输出 -1;否则输出最小操作代价。

样例输入 1

4 1
3
3 1 2 4

样例输出 1

6

数据范围

对于所有数据,保证 2n100,1k100,1ci1092\le n\le 100,1\le k\le 100,1\le c_i\le 10^9qiq_i1n1\sim n 的排列。

对于测试点 121\sim 2,满足 n,k5n,k\le 5

对于测试点 343\sim 4,满足 k=1k=1

对于测试点 565\sim 6,满足 n,k20n,k\le 20

对于测试点 787\sim 8,满足 n,k50n,k\le 50

对于测试点 9109\sim 10,无特殊约束。

云斗学院 2025 年国赛前公益训练营模拟赛 #3

未参加
状态
已结束
规则
北斗OI-Pretest
题目
3
开始于
2025-6-16 0:00
结束于
2025-6-23 0:00
持续时间
5 小时
主持人
参赛人数
44