CF1121A Technogoblet of Fire

题目描述

众所周知,$m$-coder 锦标赛即将举行。共有 $m$ 所学校参加比赛,每所学校只有一名学生参赛。 这些学校共有 $n$ 名学生。在比赛开始前,所有学生都将自己的名字和所在学校的名字投入 Technogoblet of Fire。之后,Technogoblet 会从每所学校中选出最强的学生参赛。 Arkady 是一名黑客,他希望有 $k$ 名“被选中的人”能被 Technogoblet 选中。不幸的是,并不是所有“被选中的人”都是各自学校中最强的,但 Arkady 可以伪造一些新的学校名字,并将 Technogoblet 中的部分学校名称替换为这些新名字。每个伪造的学校名字只能使用一次。这样,Technogoblet 也会从这些伪造的学校中选出最强的学生。 你知道每个学生的实力以及他们所在的学校。请计算 Arkady 至少需要伪造多少个学校名字,才能让 $k$ 名“被选中的人”都被 Technogoblet 选中。

输入格式

第一行包含三个整数 $n$、$m$ 和 $k$($1 \le n \le 100$,$1 \le m, k \le n$),分别表示学生总数、学校数和“被选中的人”数量。 第二行包含 $n$ 个不同的整数 $p_1, p_2, \ldots, p_n$($1 \le p_i \le n$),其中 $p_i$ 表示第 $i$ 个学生的实力值。实力值越大,学生越强。 第三行包含 $n$ 个整数 $s_1, s_2, \ldots, s_n$($1 \le s_i \le m$),其中 $s_i$ 表示第 $i$ 个学生所在的学校编号。每所学校至少有一名学生。 第四行包含 $k$ 个不同的整数 $c_1, c_2, \ldots, c_k$($1 \le c_i \le n$),表示“被选中的人”的编号。

输出格式

输出一个整数,表示 Arkady 至少需要伪造多少个学校名字,才能让 $k$ 名“被选中的人”都被 Technogoblet 选中。

说明/提示

在第一个样例中,只有编号为 $3$ 的“被选中的人”。他的实力为 $3$,但在同一所学校 $1$ 中,还有编号为 $5$、实力为 $6$ 的学生,这意味着如果不采取行动,Technogoblet 不会选择编号为 $3$ 的学生。如果我们为这名“被选中的人”伪造一个新的学校(比如编号为 $4$),Technogoblet 就会选择编号为 $2$(学校 $3$ 最强)、$5$(学校 $1$ 最强)、$6$(学校 $2$ 最强)和 $3$(学校 $4$ 最强)。 在第二个样例中,你可以将编号为 $3$ 的学生的学校改为伪造的 $5$,将编号为 $4$ 的学生的学校改为伪造的 $6$。这样 Technogoblet 会选择编号为 $8$、$7$、$6$、$5$、$3$ 和 $4$。 由 ChatGPT 4.1 翻译