OpenJudge

5:阅读计划

总时间限制:
1000ms
内存限制:
65536kB
描述

小明是一个爱读书的好孩子。他规划在新学期中读N本书,这些书编号从1N,第i本书的重量为Wi

小明的房间很狭窄,放不下书架,他只好把所有的N本书堆成一个竖立的直列。当他想读编号为x的书时,他需要做这样4:(如图所示)

把堆放在编号x上面的书整体移开

取出编号x的书

把整体移开的书重新放回竖立的书列上

看完编号x的书后,放到书列的最顶端

                              

小明计划连续阅读M天,第j天读编号为Bj的书(1<=bj<=n)。他有可能在不同的日子里读同一本书。

小明制定好计划后,发现这M天读书中,他每天需要在第1步时整体移开的书的总重量太大了。于是他想安排好N本书初始时的叠放顺序,使得M天读书时,他需要整体移开的书的总重量最小。

注意:N本书可以任意的顺序叠放。小明某一天要读的那本书不算入需要整体移开的书的重量。


输入
第1行:2个整数N和M(2<=N<=500, 1<=M<=1000)
第2行:N个整数,表示每本书的重量Wi(1<=Wi<=100)
第3行:M个整数,表示每天要读的书的编号Bj(1<=Bj<=N)
输出
第1行:1个整数,表示M天读书需要在第1步时整体移开的书的总重量
样例输入
3 5
1 2 3
1 3 2 3 1
样例输出
12
全局题号
16797
添加于
2018-03-03
提交次数
111
尝试人数
40
通过人数
32