happy card
题号:NC200445
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 64 M,其他语言128 M
64bit IO Format: %lld

题目描述

给你n个人,每一个人最多可以选k张牌,这n个人都喜欢数s,一张牌有一个数,如果这个数是s,则这个牌称为happy card

每一个人拿到不同数量的happy card 可以获得不同数量的欢乐值。

假如一个人拿到了 i 张happy card ,则可以获得 hi 的欢乐值( h数组单调递增), 没有happy card的人的欢乐值为0.

如果没有拿到happy card,则获得的欢乐值为0。

现在你需要把着n张牌分配给这n个人(每个人的牌数都可以为0),使这n个人的快乐值总和最大

输入描述:

第一行三个数字n,k,s, 1 <= n <= 500, 1<= k <= n , 1 <= s <= 1e9

接下来n个数代表n张牌上的数ai, 1 <= ai <= 1e9

接下来k个数代表hi的值,1 <= hi <= 1e9

保证 hi-1 <= hi

输出描述:

最大的快乐值和
示例1

输入

复制
5 3 2
2 2 2 2 2
2 6 7

输出

复制
14
示例2

输入

复制
4 3 9
9 9 9 9 
1 2 3

输出

复制
4