#P50792. 「POI2012」约会 Rendezvous

「POI2012」约会 Rendezvous

题目描述

译自 POI 2012 Stage 1. 「Rendezvous

给定一个有 nn 个顶点的有向图,每个顶点有且仅有一条出边。每次询问给出两个顶点 aia_ibib_i,求满足以下条件的 xix_iyiy_i

  • 从顶点 aia_i 沿出边走 xix_i 步与从顶点 bib_i 沿出边走 yiy_i 步到达的顶点相同。
  • max(xi,yi)\max(x_i, y_i) 最小。
  • 满足以上条件的情况下 min(xi,yi)\min(x_i, y_i) 最小。
  • 如果以上条件没有给出一个唯一的解,则还需要满足 xiyix_i \ge y_i.

如果不存在这样的 xix_iyiy_i,则 xi=yi=1x_i = y_i = -1.

输入格式

第一行两个正整数 nnkk1n500 000,1k500 0001 \le n \le 500\ 000,1 \le k \le 500\ 000),表示顶点数和询问个数。

接下来一行 nn 个正整数,第 ii 个数表示 ii 号顶点出边指向的顶点。

接下来 kk 行表示询问,每行两个整数 aia_ibib_i.

输出格式

对每组询问输出两个整数 xix_iyiy_i.

样例

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

ran1.gif

数据范围与提示

对于 40%40\% 的数据,n2000,k2000n \le 2000,k \le 2000.

对于 100%100\% 的数据,1n500 000,1k500 0001 \le n \le 500\ 000,1 \le k \le 500\ 000.