#P1612. 神秘金币

神秘金币

题目描述

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

注意:金币被收集到背包之后就不会消失了。

输入格式

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

第二行包含 nn 个整数 tit_i,表示每枚金币的存在时间。(1tin1≤ t_i≤n 且所有 tit_i 不重复)

第三行包含 nn 个整数 viv_i,表示每枚金币的价值。

输出格式

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

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

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

4 2
1 3 4 2
4 1 3 2
7

数据范围/提示

样例 33附加文件

数据点编号 nn kk viv_i
121\sim 2 1n201\le n\le 20 k=1k = 1 1vi1001\le v_i\le 100
343\sim 4 1n1031\le n\le 10^3 1kn1\le k\le n 1vi1031\le v_i\le 10^3
5105\sim 10 1n1051\le n\le 10^5 1vi1061\le v_i\le 10^6