3763: 神秘金币(第二轮01)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:2 解决:2

题目描述

在一个古老的文明中,有一种神秘的金币。你是一名考古学家,偶然发现了这个文明的遗址, 现在是时刻  0,有 n枚金币同时被发现。第 i枚金币会在 ti    时刻后消失,它的价值是  vi 。  然而,由于地形和其他条件的限制,你每个时刻只能收集一枚金币。此外,你的背包有限, 你最多只能收集 k枚金币。现在, 你面前有 n 枚金币,你的任务是确定如何选择金币,  以便在收集的金币数量不超过 k的前提下,最大化你可以获取的金币价值总和。

注意:金币被收集到背包之后就不会消失了。 大样例:sample.zip


输入

第一行包含两个整数 n  和 k,表示金币的数量和你最多可以收集的金币数量。

第二行包含 n  个整数 ti   , 表示每枚金币的存在时间。(1 ≤   ti  ≤ n  且所有   ti 不重复) 第三行包含 n  个整数 vi   , 表示每枚金币的价值。

输出

输出一个整数,表示你最多可以获取的金币价值总和。

样例输入 复制

5 2
1 2 4 3 5
3 2 1 2 2

样例输出 复制

5

提示

【样例 1 输入】

5 2

1 2 4 3 5

3 2 1 2 2

【样例 1 输出】

5

【说明】

你可以在第一个单位时间收集价值为 3 的金币,然后在第二个单位时间收集价值为 2 的金 币,所以最大的金币价值总和是 5。

【样例 2 输入】

4 2

1 3 4 2

4 1 3 2

【样例 2 输出】

7

【备注】

每 组 数 据     10             10      组 数      1 ≤  ti   ≤ n  且 保 证 不 重 复 。


来源/分类