luogu#P7974. [KSN2021] Delivering Balls

[KSN2021] Delivering Balls

题目描述

给定一个长度为 NN 的序列 HHQQ 次询问。

ii 次询问中,你初始在第 SiS_iHSiH_{S_i} 行,想要到第 TiT_i 列第 HTiH_{T_i} 行。

你可以进行若干次移动。每次移动你可以选择以下两种参数:

  • 1-1,列不变,列 +1+1
  • 1-1,行不变,行 +1+1

如果你选择行 1-1,消耗 11 体力,如果你选择行不变,消耗 22 体力,如果你选择行 +1+1,消耗 44 体力。

你需要保证每次移动后,你的列数 xx[1,N][1,N] 之间,且你的行数 yy 不小于 HxH_x

对于每个询问,你需要求出你消耗体力的最小值。

输入格式

第一行输入一个正整数 NN

第二行输入 NN 个正整数 HiH_i

接下来 QQ 行,每行输入两个正整数 Si,TiS_i,T_i

输出格式

对于每个询问,输出一行,包含一个整数,代表消耗体力的最小值。

4
9 1 8 2
2
1 3
4 2
3
31
9
1 2 3 2 1 2 3 2 1
4
1 9
4 6
2 6
5 2
18
4
9
9

提示

【样例解释】

以下为第一个样例中两个询问的图示:

【数据范围】

  • Subtask 1(7 points):只存在一组数据,满足 N=8N=8Q=4Q=4H=[,9,3,3,5,4,8,2]H=[,9,3,3,5,4,8,2](Si,Ti)(S_i,T_i) 依次为 (1,8)(1,8)(3,6)(3,6)(6,4)(6,4)(7,2)(7,2)
  • Subtask 2(5 points):Si+1=TiS_i+1=T_i
  • Subtask 3(6 points):Hi=iH_i=i
  • Subtask 4(18 points):N,Q,Hi100N,Q,H_i\leq 100
  • Subtask 5(24 points):N,Q1000N,Q\leq 1000
  • Subtask 6(13 points):Si=1S_i=1
  • Subtask 7(27 points):无特殊限制。

对于所有数据,2N2×1052\leq N\leq 2\times 10^5Hi109H_i\leq 10^9Q2×105Q\leq 2\times 10^51Si,TiN1\leq S_i,T_i\leq N