3156: CPU 和 Cache 的爱恨情仇

时间限制:1000 ms 内存限制:128 MB
上传者:
提交:45 通过:15

题目描述

在偌大的计算机世界里,存在着数不清的爱情故事—— CPU 和 Cache 就是其中一对。CPU 跑得很快,但是老是会惹很多麻烦,导致虽然跑的很慢的 Cache 要在他后面给他处理问题。有一天,CPU 跑的飞快,麻烦一个个也就接踵而来了。

每一个麻烦都有一个编号,麻烦很多,但是 Cache 的处理能力却是有限的,他需要一种处理策略——Cache 会把依次来的麻烦流[麻烦编号序列]放到自己的处理桶中,当下一个麻烦来时,会进行下面的处理:

1.如果该麻烦已经在处理桶中了,他就会在心里默念“还好之前处理过了”,并且将该麻烦取出,然后放到桶中所有麻烦的最上面。

2.如果不在处理桶中,如果此刻桶还没有满,则把该麻烦放到桶中所有麻烦的的最下面。否则,在桶已满的情况下,取出最上面的麻烦,将此时遇到的新麻烦放到桶的最下面。

最后处理完之后,Cache 需要向 CPU 吐槽他所带来的麻烦给自己造成的损失。由于每次处理一个麻烦后,处理桶中存在特殊麻烦组合时,就会对Cache造成一次伤害。特殊麻烦组合由麻烦序列中的m个不重复的麻烦组成,没有相对顺序。

问处理完 CPU 的麻烦序列之后,对 Cache 造成了多少伤害?

输入格式

第一行为3个整数 $n$($1 \le n\le 10000$ ),  $k$($1\le k\le 100$), $m$($1\le m\le 5$),用空格隔开

分别表示麻烦序列的长度,Cache的处理桶的长度,特殊麻烦组合的长度。

第二行为 $m$ 个数,表示特殊麻烦组合,用空格隔开

第三行为 $n$ 个数,表示要处理的麻烦序列,用空格隔开

麻烦序列编号大于等于 1 ,小于等于 $n$。

输出格式

处理 CPU 的麻烦序列对 Cache 造成的伤害!

输入样例 复制

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

输出样例 复制

4