#HK4899. 「POI2015 R1」影迷 Movie-goer

「POI2015 R1」影迷 Movie-goer

题目描述

题目译自 XXII Olimpiada Informatyczna — I etap Kinoman

Bajtazar 是个狂热的电影爱好者,得知他最爱的小众影院推出夏季促销活动,兴奋不已。整个夏天,nn 天里每天放映一部来自 mm 部电影的影片。促销通票允许免费观看任意场次,但有个条件:不能中断观影(即错过一场,通票作废;首场可自由选择)。

Bajtazar 根据网评给每部电影定了精彩度。他想用通票最大化观看电影的精彩度总和。但他讨厌重复看同一部电影,因为重看会让他觉得无聊,破坏美好回忆。所以,他真正想做的是最大化只看恰好一次的电影的精彩度总和。

输入格式

输入第一行包含两个整数 nnmm (1mn1000000)(1 \leq m \leq n \leq 1000000),分别表示促销天数和电影数量。为方便起见,电影编号为 11mm

第二行包含 nn 个整数 f1,f2,,fnf_{1}, f_{2}, \ldots, f_{n} (1fim)(1 \leq f_{i} \leq m)fif_{i} 表示第 ii 天放映的电影编号。

第三行包含 mm 个整数 w1,w2,,wmw_{1}, w_{2}, \ldots, w_{m} (1wj1000000)(1 \leq w_{j} \leq 1000000)wjw_{j} 表示编号 jj 的电影的精彩度。

某些电影可能在促销期间完全不放映。

输出格式

输出一行一个整数,表示 Bajtazar 最佳使用通票时,只看恰好一次的电影的精彩度总和。

9 4
2 3 1 1 4 1 2 4 1
5 3 6 6

15

Bajtazar 可从第二天开始连续看 66 场,观看编号为 223344 的电影各一次,总精彩度为 3+6+6=153+6+6=15

附加样例

  1. n=10,m=5n=10, m=5,随机样例;
  2. n=100,m=50n=100, m=50,随机样例;
  3. n=1000000,m=1000000n=1000000, m=1000000,除一部电影外,所有电影精彩度为 200000200000 且不重复;一部电影精彩度为 10000001000000,每 1010 天重复一次。

数据范围与提示

对于 70%70\% 的数据,n100000n \leq 100000
对于其中 20%20\% 的数据,n8000n \leq 8000