问题 3491 --最近距离

3491: 最近距离

时间限制: 2 Sec  内存限制: 256 MB
提交: 14  解决: 2
[提交][状态][讨论版][命题人:]

题目描述

给定一个序列n,你需要回答m个询问,每个询问给定l,r,你需要回答满足l<=i<j<=r并且ai=aj的最小的j-i,即区间内最近的两个相同数的距离,若不存在,输出 -1

输入

第一行两个整数 n,m

第二行n个整数a1,a2....an 。

接下来m行,每行两个整数l,r表示一组询问。

输出

共 m行,对于每组询问输出一行表示最小的距离,若不存在,输出 -1

样例输入

样例1
5 3
1 1 2 3 2
1 5
2 4
3 5
样例2
6 5
1 2 1 3 2 3
4 6
1 3
2 5
2 4
1 6

样例输出

样例1
1
-1
2
样例2
2
2
3
-1
2

提示


对于30%的数据,1<=n,m<=10^3;



对于70%的数据,1<=n,m<=10^5;



对于100%的数据,1<=n,m<=10^6,1<=l<=r<=n,-10^<=ai<=10^9。

来源

[提交][状态]