문제
JOI 国には 個の郵便局があり,それぞれ から までの番号が付けられている.各郵便局には「送り先」が1 つだけ指定されており,郵便局 の送り先は郵便局 である.ただし である可能性もある.
もし時刻 に郵便局 から荷物を一つ発送した場合,時刻 に郵便局 にその荷物が到着する.ただし,荷物を発送している間はその郵便局から別の荷物を発送することができない.また,各郵便局には個数の制限なく荷物を保管しておくことができる.
さて,これからJOI 国では 個の荷物を届けることになっている. 個目の荷物は時刻 に郵便局 に到着し,最終的に指定の郵便局 に届けなければならない.郵便局と荷物の情報が与えられたとき,すべての荷物を指定の郵便局に届けられるかを判定し,もし可能ならば最後に荷物が指定の郵便局に届く時刻として考えられる最も小さな値を求めるプログラムを作成せよ.
입력
入力は以下の形式で標準入力から与えられる.
N
P_1 P_2 ... P_N
M
A_1 B_1
A_2 B_2
...
A_M B_M
출력
標準出力に1 行で出力せよ.すべての荷物を指定の郵便局に届けられる場合は,最後に荷物が指定の郵便局に届く時刻として考えられる最も小さな値を出力せよ.そうでない場合は,代わりに を出力せよ.
제한
- .
- .
- ().
- ().
- ().
- 入力はすべて整数である.
서브태스크
- (3 점) ,.
- (9 점) ,.
- (13 점) .また, である.
- (25 점) .
- (11 점) .
- (25 점) ().
- (14 점) 追加の制約はない.
예제 입력 1
5
1 1 2 3 4
3
3 2
3 1
3 1
예제 출력 1
3
例えば,以下のような送り方をすることによって時刻 までにすべての荷物を指定の郵便局に届けることができる.
- 時刻 には,郵便局 に荷物 がある.このうち荷物 を郵便局 へ発送する.
- 時刻 には,郵便局 に荷物 ,郵便局 に荷物 がある.郵便局 からは荷物 を郵便局 へ発送し,郵便局 からは荷物 を郵便局 へ発送する.
- 時刻 には,郵便局 に荷物 ,郵便局 に荷物 ,郵便局 に荷物 がある.郵便局 からは荷物 を郵便局 へ発送し,郵便局 からは荷物 を郵便局 へ発送する.
- 時刻 には,郵便局 に荷物 ,郵便局 に荷物 がある.このとき,すべての荷物が送り先に届いている.
時刻 までにすべての荷物を指定の郵便局に届けることはできないため, を出力する.
この入力例は小課題 の制約を満たす.
예제 입력 2
3
2 1 3
1
1 3
예제 출력 2
-1
どのような送り方をしても郵便局 から郵便局 へ荷物を運ぶことはできないため, を出力する.
この入力例は小課題 の制約を満たす.
예제 입력 3
7
1 1 2 3 4 5 6
6
4 2
5 1
5 3
6 2
7 3
7 6
예제 출력 3
5
この入力例は小課題 の制約を満たす.
예제 입력 4
4
4 1 2 3
4
4 1
4 1
2 3
2 3
예제 출력 4
4
この入力例は小課題 の制約を満たす.
예제 입력 5
7
1 1 1 3 3 4 4
5
6 1
6 3
7 1
5 1
5 1
예제 출력 5
5
この入力例は小課題 の制約を満たす.
예제 입력 6
11
3 1 2 5 6 7 8 4 4 5 10
6
2 1
9 8
11 8
10 4
5 6
5 7
예제 출력 6
6
この入力例は小課題 の制約を満たす.
코드를 제출하려면 로그인이 필요합니다.
로그인