[11.3模拟赛]T3

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

Solution

Code

posted @ 2019-11-04 20:11  Agakiss  阅读(235)  评论(0编辑  收藏  举报