1247: 清空数列
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:132
解决:3
题目描述
给定一个长度为 $n$ 数列 $A$。
我们的目的是 $A$ 数列清空,且有以下两种操作:
$1.$ 选择 $i,j$ $(1<=i,j<=n)$,交换 $A_i$ 和 $A_j$ 的值。
$2.$ 选择 $i,j$ $(1<=i<=j<=n)$,满足 $A_i=A_j$,将 $A_i$ 和 $A_j$ 之间的数(包括 $A_i$ 和 $A_j$)删除。
其中,第 $i$ 次使用操作 $1$ 的代价为 $w_i$。
每次使用操作 $2$ 的代价均为 $m$。
请你求出要清空数列 $A$ 最小的操作代价和为多少?
输入
第一行三个整数 $n,m,k$,$k$ 表示序列 $w$ 的长度,数据保证最小代价的所有操作方案中使用操作 $1$ 的次数不超过 $k$。
第二行 $n$ 个整数,表示数列 $A$。
第三行 $k$ 个整数,表示数列 $w$。
输出
一个整数表示答案。
样例输入 复制
6 2 5
1 1 4 5 1 4
1 2 3 4 5
样例输出 复制
3
提示
对于 $10\%$ 的数据,满足 $A_1=A_n$。
对于 $40\%$ 的数据,满足 $A_i$ 互不相同。
对于 $100\%$ 的数据,满足 $1 \le n \le 500$,$1 \le A_i,m,w_i \le 1000$。