#H1021. 化体为空

化体为空

题目描述

观者找到了很多尖塔 mod,现在她有很多种姿态!

有一个长度为 nn 的姿态序列 a1,a2,,ana_1,a_2,\cdots,a_n1ain1\leqslant a_i\leqslant n),观者可以在这个姿态序列上行走,每次在 ii 可以走到 i1i-1(若 i>1i>1)或者 i+1i+1(若 i<ni<n),

但行走是有条件的。假设是从 ii 走到 i+1i+1 她必须保证 iii+1i+1 的姿态相同,ii 走到 i1i-1 同理要保证 iii1i-1 的姿态相同。观者可以使用一单位的能量来将姿态序列某个位置改为一种任意的姿态,行走也需要一单位的能量。

她设想了 mm 个问题,每次给定起点终点 x,yx,yxx 可以大于 yy),她想知道从 xx 走到 yy 最少需要多少单位的能量?由于这只是观者的设想,事实上她不会真正地修改这个姿态序列。

输入格式

第一行两个正整数 n,mn,m,表示序列长度与询问个数。

第二行 nn 个正整数,表示姿态序列上每个位置的姿态。

接下来 mm 行,每行两个正整数 x,yx,y 表示起点与终点,注意 xx 可以大于 yy

输出格式

mm 行每行一个非负整数表示答案。

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

数据范围

对于 100%100\% 的数据,保证 2n,m106,1xi,yi,ain2\leqslant n,m\leqslant 10^6,1\leqslant x_i,y_i,a_i\leqslant n

数据点标号 n,mn,m\leqslant 特殊性质
1,21,2 500500 A
33 B
44 A
565\sim 6 50005000
787\sim 8 10510^5
9109\sim 10

特殊性质 A:保证姿态数量不超过 2020

特殊性质 B:保证姿态数量不超过 33

样例

样例

样例1111问解释:

11走到22,代价11单位能量,总代价为11

22走到33,把a[2]a[2]改成22,代价22单位能量,总代价为33

33走到44,把a[4]a[4]改成22,代价22单位能量,总代价为55

44走到55,代价11单位能量,总代价为66