#P10123. [USACO18OPEN] Milking Order B

[USACO18OPEN] Milking Order B

题目描述

Farmer John 的 NN 头奶牛(2N1002\le N\le 100),方便起见仍然编号为 1N1\ldots N,正好闲得发慌。因此,她们发展了一个与 Farmer John 每天早上为她们挤牛奶的时候的排队顺序相关的复杂的社会结构。经过若干周的研究,Farmer John 发现这个结构基于两个关键特性。

首先,由于奶牛们的社会阶层,某些奶牛会坚持要在其他奶牛之前挤奶,基于她们的社会地位等级。比方说,如果奶牛 33 有最高的地位,奶牛 22 位于中等地位,奶牛 55 是低地位,那么奶牛 33 会最早挤奶,然后是奶牛 22,最后是奶牛 55

然后,有些奶牛只允许她们在排队顺序中一个特定的位置挤奶。比方说,奶牛 44 可能坚持要在所有奶牛中的第二位挤奶。

幸运的是,Farmer John 总是能够以一种满足所有这些情况的顺序给他的奶牛们挤奶。

不幸的是,奶牛 11 最近生病了,所以 Farmer John 想要尽早给这头奶牛挤奶,使得她可以回到牛棚获得急需的休息。请帮助 Farmer John 求出奶牛 11 可以在挤奶顺序中出现的最早位置。

输入格式

第一行包含 NNMM1M<N1\le M<N),和 KK1K<N1\le K<N),表示 Farmer John 有 NN 头奶牛,其中 MM 头形成了社会阶层,KK 头需要在挤奶顺序中处于一个特定的位置。下一行包含 MM 个不同的整数 mim_i1miN1\le m_i\le N)。在这一行出现的奶牛必须以与她们在这行出现的顺序相同的顺序进行挤奶。下面 KK 行,每行包含两个整数 cic_i1ciN1\le c_i\le N)和 pip_i1piN1\le p_i\le N),表示奶牛 cic_i 一定要在第 pip_i 位进行挤奶。

输入数据保证在这些限制之下,Farmer John 能够建立一个符合要求的挤奶顺序。

输出格式

输出奶牛 11 可以在挤奶顺序中出现的最早位置。

6 3 2
4 5 6
5 3
3 1
4

提示

在这个例子中,Farmer John 有六头奶牛,其中奶牛 11 生病了。他的挤奶顺序应该为奶牛 44 在奶牛 55 之前,奶牛 55 在奶牛 66 之前。此外,Farmer John 必须要第一个给奶牛 33 挤奶,第三个给奶牛 55 挤奶。

FJ 必须第一个给奶牛 33 挤奶,由于奶牛 44 必须要在奶牛 55 之前,奶牛 44 一定是第二个挤奶的,然后奶牛 55 第三个。于是,奶牛 11 最早在挤奶顺序中出现的位置是第四个。