WAC392.会合

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

会合

给定一个 nn 个顶点的有向图,每个顶点有且仅有一条出边。

对于顶点 ii,记它的出边为 (i,a[i])(i, a[i])

再给出 qq 组询问,每组询问由两个顶点 aba、b 组成,要求输出满足下面条件的 xyx、y

  1. 从顶点 aa 沿着出边走 xx 步和从顶点 bb 沿着出边走 yy 步后到达的顶点相同。
  2. 在满足条件 11 的情况下,如果解不唯一,则还需要令 max(x,y)max(x,y) 最小。
  3. 在满足条件 1122 的情况下,如果解不唯一,则还需要令 min(x,y)min(x,y) 最小。
  4. 在满足条件 121、233 的情况下,如果解不唯一,则还需要令 xyx \ge y

如果不存在满足条件 11xyx、y,输出 -1 -1

输入格式

第一行两个正整数 nnqq

第二行 nn 个正整数 a[1],a[2],,a[n]a[1],a[2],…,a[n]

下面 qq 行,每行两个正整数 a,ba,b,表示一组询问。

输出格式

输出 qq 行,每行两个整数。

数据范围

n,q500000n,q \le 500000,

a[i]na[i] \le n,

a,bna,b \le n

样例

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

在线编程 IDE

建议全屏模式获得最佳体验