#d1205. Closest Equals

Closest Equals

Closest Equals

题目描述

给定一个下标从 11 ~ nn 的序列 aa,然后进行 mm 次询问。

每次询问给出一对 [l,r][l, r],找到区间中数值相等的且距离最相近的两个数 aia_i 和 aja_j,求它们的距离。

换言之找到一组数 (ai,aj)(a_i, a_j) 满足

  • ai=aja_i = a_j;
  • l≤i,j≤rl \leq i, j \leq r (i≠j)(i \neq j);

求 ∣i−j∣|i - j| 的最小值,如果区间中不存在相等的两个数,则输出 −1-1。

输入格式

第一行输入两个整数 1≤n,m≤5×1051 \leq n, m \leq 5 \times 10^5。

第二行输入 nn 个整数 1≤ai≤1091 \leq a_i \leq 10^9。

接下来 mm 行,每行输入两个整数 1≤l≤r≤n1 \leq l \leq r \leq n。

输出格式

输出 mm 行,每行包含一个整数作为询问的答案。

样例输入 1

5 3
1 1 2 3 2
1 5
2 4
3 5

样例输出 1

1
-1
2

样例输入 2

6 5
1 2 1 3 2 3
4 6
1 3
2 5
2 4
1 6

样例输出 2

2
2
3
-1
2