일부 소들 사이의 순서 조건과 특정 소의 고정 위치가 주어질 때, 소 1이 차지할 수 있는 가장 이른 자리를 구한다.
보통5위상 정렬그리디그래프구현면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB농부 존의 소 N마리(2≤N≤100)는 늘 그렇듯 1번부터 N번까지 번호가 붙어 있고, 발굽에 시간이 남아돈다. 그래서 소는 존이 아침마다 젖을 짜는 순서를 두고 복잡한 사회 구조를 만들어 냈다. 몇 주 동안 관찰한 끝에 존은 이 구조가 두 가지 성질로 이루어진다는 사실을 알아냈다.
첫째, 서열 때문에 어떤 소는 다른 소보다 먼저 젖을 짜 달라고 고집한다. 예를 들어 3번 소의 서열이 가장 높고 2번 소가 그다음, 5번 소가 가장 낮다면 3번 소의 젖을 가장 먼저 짜고, 이어서 2번 소, 마지막으로 5번 소의 젖을 짜야 한다.
둘째, 어떤 소는 순서에서 정해진 자리에서만 젖을 짜게 한다. 예를 들어 4번 소는 전체에서 두 번째로 짜 달라고 고집할 수 있다.
다행히 존은 이 조건을 모두 만족하는 순서로 언제나 젖을 짤 수 있다.
그런데 1번 소가 최근에 병이 났다. 존은 이 소의 젖을 되도록 이른 순서에 짜서 축사로 돌려보내 쉬게 하려고 한다. 1번 소가 젖 짜는 순서에서 차지할 수 있는 가장 이른 자리를 구하라.
첫째 줄에 N, M(1≤M<N), K(1≤K<N)가 주어진다. 존의 소는 N마리이고, 그중 M마리가 하나의 서열을 이루며, K마리가 특정한 자리에서 젖을 짜 달라고 요구한다.
둘째 줄에 서로 다른 정수 M개 m_1,m_2,…,m_M(1≤m_i≤N)이 주어진다. 이 줄에 적힌 소는 적힌 순서 그대로 젖을 짜야 한다.
다음 K개 줄에는 정수 두 개 c_i(1≤c_i≤N)와 p_i(1≤p_i≤N)가 주어진다. c_i번 소를 p_i번째로 짜야 한다는 뜻이다.
주어진 조건을 모두 만족하는 젖 짜는 순서가 반드시 존재한다.
1번 소가 젖 짜는 순서에서 차지할 수 있는 가장 이른 자리를 출력한다.
예제에서 존의 소는 여섯 마리이고 1번 소가 아프다. 4번 소는 5번 소보다 먼저, 5번 소는 6번 소보다 먼저 짜야 한다. 또 3번 소는 첫 번째, 5번 소는 세 번째로 짜야 한다.
3번 소를 첫 번째로 짜야 하고 4번 소가 5번 소보다 앞서야 하므로, 4번 소가 두 번째, 5번 소가 세 번째가 된다. 따라서 1번 소는 빨라야 네 번째다.