题目描述
译自 POI 2012 Stage 1. 「Rendezvous」
给定一个有 n 个顶点的有向图,每个顶点有且仅有一条出边。每次询问给出两个顶点 ai 和 bi,求满足以下条件的 xi 和 yi:
- 从顶点 ai 沿出边走 xi 步与从顶点 bi 沿出边走 yi 步到达的顶点相同。
- max(xi,yi) 最小。
- 满足以上条件的情况下 min(xi,yi) 最小。
- 如果以上条件没有给出一个唯一的解,则还需要满足 xi≥yi.
如果不存在这样的 xi 和 yi,则 xi=yi=−1.
输入格式
第一行两个正整数 n 和 k(1≤n≤500 000,1≤k≤500 000),表示顶点数和询问个数。
接下来一行 n 个正整数,第 i 个数表示 i 号顶点出边指向的顶点。
接下来 k 行表示询问,每行两个整数 ai 和 bi.
输出格式
对每组询问输出两个整数 xi 和 yi.
12 5
4 3 5 5 1 1 12 12 9 9 7 1
7 2
8 11
1 2
9 10
10 5
2 3
1 2
2 2
0 1
-1 -1
数据范围与提示
对于 40% 的数据,n≤2000,k≤2000.
对于 100% 的数据,1≤n≤500 000,1≤k≤500 000.