2572: HS数列

内存限制:128 MB 时间限制:3.000 S
评测方式:文本比较 命题人:
提交:3 解决:1

题目描述

HS最近对数列非常感兴趣,现在他有一个长度为n的数列a1, a2, ..., an,他想知道区间[l,r]内两个元素ax,ay的最小距离,其中ax,ay满足下面两个条件:
1.两个元素的下标x,y在[l,r]范围内,也就是l<=x,y<=r;
2.两个元素的值相等,也就是ax=ay;
两个元素的距离定义为|x−y|。

输入

输入包含多组样例。
首先输入两个数n,m(1≤n, m ≤ 5×105),表示数列的长度和询问的次数。
第二行是数列中的n个数,a1, a2, ..., an( −109 ≤ ai ≤109)。
下面m行,每行两个数l,r(1≤l≤r≤n),表示询问的区间。

输出

对于每个询问输出最近的距离,如果不存在满足条件的数,输出-1.

样例输入 复制

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

样例输出 复制

1
-1
2
2
2
3
-1
2

来源/分类