3960: 「LibreOJ NOI Round #1」接竹竿

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

题目描述

一天,神犇和 LCR 在玩扑克牌。他们玩的是一种叫做“接竹竿”的游戏。 游戏规则是:一共有 $n$ 张牌,每张牌上有一个花色 $c$ 和一个点数 $v$,花色不超过 $k$ 种。将这些牌依次放入一列牌的末端。若放入之前这列牌中已有与这张牌花色相同的牌,你可以选择将这张牌和**任意**一张花色相同的牌之间的所有牌全部取出队列(包括这两张牌本身),并得到与取出的所有牌点数和相同的分数。现在已知 LCR 把这 $n$ 张牌放入队列的顺序,求她最多能得多少分。 输入顺序即为 LCR 放入队列的顺序。即,$c_i$ 表示第 $i$ 张放入的牌的花色,$v_i$ 表示第 $i$ 张放入的牌的点数。 **请注意,如果你知道类似的纸牌游戏,请尤其仔细地阅读规则,以免因为理解题意错误而出现不必要的问题。**

输入

第一行两个整数 $n,k$。 第二行,$n$ 个整数 $c_1,c_2,...,c_n$ 表示花色,满足 $1\leq c_i\leq k$。 第三行,$n$ 个整数 $v_1,v_2,...,v_n$ 表示点数。

输出

输出一行一个整数,表示最多能得到的分数。

样例输入 复制

7 3
1 2 1 2 3 2 3
1 2 1 2 3 2 3

样例输出 复制

13

提示

输入样例2


18 5
5 2 3 5 1 3 5 2 1 4 2 4 5 4 1 1 1 5
8 2 7 6 10 8 10 9 10 2 4 7 7 7 7 9 7 3

输出样例2


123

数据范围:对于 $100\%$ 的数据,$1\leq n\leq 10^6,1\leq k\leq 10^6,1\leq v_i\leq 10^9$。 |Subtask #|分值| $n,k$ 的限制 |特殊限制| |:-:|:-:|:-:|:-:| |1| $15$ |$1\leq n,k\leq 15$|$c_i=v_i$| |2| $15$ |$1\leq n,k\leq 300$|$c_i=v_i$| |3| $30$ |$1\leq n,k\leq 3000$|| |4| $15$ |$1\leq n,k\leq 2\times 10^5$|| |5| $10$ |$1\leq n,k\leq 10^6$|$c_i=v_i$| |6| $15$ |$1\leq n,k\leq 10^6$||

来源/分类