题目背景
译自 第24回日本情報オリンピック 本選 T5。
题目描述
有一张 N 个节点 N 条边的有向图,节点标号 1∼N。
第 i 条边从节点 i 指向节点 Pi(注意,可能出现 i=Pi 的情况),需要花 1 单位时间经过它。
有 M 个包裹,第 j(1≤j≤M)个包裹要从节点 Aj 运到节点 Bj。这些包裹全部从 0 时刻开始运送。
每条边一次只能运送一个包裹。节点可以存储无限多个包裹。
判断:是否能够将所有包裹都运到目的地。如果可以,还要求出到达时间最晚的包裹的最早到达时刻。
输入格式
如下所示:
N
P1 P2 ⋯ PN
M
A1 B1
A2 B2
⋮
AM BM
输出格式
如果无法运到,输出一行一个 -1。
否则输出一行一个整数,表示到达时间最晚的包裹的最早到达时刻。
提示
样例解释
样例 1 解释
该样例满足子任务 2,3,4,6,7 的限制。
样例 2 解释
该样例满足子任务 1,2,7 的限制。
样例 3 解释
该样例满足子任务 2,4,6,7 的限制。
样例 4 解释
该样例满足子任务 2,5,7 的限制。
样例 5 解释
该样例满足子任务 2,6,7 的限制。
样例 6 解释
该样例满足子任务 2,7 的限制。
数据范围
- 2≤N≤2×105。
- 1≤M≤2×105。
- 1≤Pi≤N(1≤i≤N)。
- 1≤Ai,Bi≤N(1≤i≤M)。
- Ai=Bi(1≤i≤M)。
- 输入的值全部是整数。
子任务
- (3pts)N≤3,000,M=1。
- (9pts)N≤3,000,M≤3,000。
- (13pts)P=(1,1,2,⋯,N−1),max(B1,B2,⋯,BM)<min(A1,A2,⋯,AM)。
- (25pts)P=(1,1,2,⋯,N−1)。
- (11pts)P=(N,1,2,⋯,N−1)。
- (25pts)P1=1,Pi<i(2≤i≤N)。
- (14pts)无额外限制。