Description
\(Jim\)是一位宝石收藏品行家,在他的收藏室里保存着许多珍贵的宝石,磷叶石、钻石、摩根石、透绿柱石….,已知\(Jim\)有\(n\)个宝石,现在他将这\(n\)个宝石从\(1\)到\(n\)排开编号从\(1\)到\(n\)。
\(Jim\)发现他所有的宝石中竟然有不少是完全相同的的,我们规定每个宝石都有一个特征值\(ai\),当两个宝石特征值相等时及认为两个宝石相同。
Jim发现两个相同的宝石离得越接近越明显。
Jim现在有m个问题,他想问你在编号\(l\)到\(r\)这一区间里的所有宝石中,两个相同宝石的最近距离是多少,(两个宝石的距离是它们编号的绝对值之差)。
保证\(l<r\),对于\(ax\)和\(ay\)若\(ax=ay\)它们的距离为\(|x-y|\)。
Input
单组测试数据。
第一行有两个整数\(n\),\(m\)\((1≤n,m≤2*10^5)\),表示宝石序列的长度和查询的次数。
第二行有\(n\)个整数\(a1\),\(a2\),\(...\),\(an\)\((-10^9≤ai≤10^9)\),\(ai\)表示第\(i\)个宝石的特征值。
接下来有\(m\)行,每一行给出两个整数\(lj\),\(rj\)\((1≤lj≤rj≤n)\)表示一个查询。
Output
对于每一个查询,输出最近的距离,如果没有相等的元素,输出\(-1\)。
Sample Input
5 3
1 1 2 3 2
1 5
2 4
3 5
Sample Output
1
-1
2
Data Constraint
对于\(10\)%的数据,保证\(n<=20\)
对于\(50\)%的数据,保证\(n<=50000\)
对于\(100\)%的数据,保证\(n<=200000\)
Limit
\(2000\)ms \(128\)M