#P11994. [JOIST 2025] 外郎糕 / Uiro

[JOIST 2025] 外郎糕 / Uiro

题目描述

葵有 NN 张卡片,编号从 11NN。每张卡片上都写有一个正整数。卡片 ii1iN1 \leq i \leq N)上写的数是 AiA_i
葵将使用这些卡片和黑板进行 QQ 次游戏。她进行的第 jj 次游戏(1jQ1 \leq j \leq Q)包含以下步骤:

  1. 在黑板上写下 00
  2. 将编号为 LjL_j, Lj+1L_j + 1, ..., RjR_j 的卡片按此顺序从左到右排列在桌面上。
  3. 进行 RjLj+1R_j - L_j + 1 次操作。第 kk 次操作(1kRjLj+11 \leq k \leq R_j - L_j + 1)如下:
    • 设黑板上当前写的数为 xx,桌面左起第 kk 张卡片上的数为 yy。擦去黑板上的 xx,改为写下 x+yx + yxyx - y
    • 若选择 xyx - y,葵将吃掉一个外郎糕。
    • 但此时写在黑板上的数必须严格非负。

对于每个游戏,你需要求出葵能吃掉外郎糕的最大数量。

给定卡片信息和游戏信息,请编写程序计算每个游戏中葵能吃掉外郎糕的最大数量。

输入格式

NN
A1A_1 A2A_2 \cdots ANA_N
QQ
L1L_1 R1R_1
L2L_2 R2R_2
\vdots
LQL_Q RQR_Q

输出格式

输出 QQ 行。第 jj 行(1jQ1 \leq j \leq Q)输出第 jj 个游戏中葵能吃掉外郎糕的最大数量。

5
3 4 7 2 8
2
1 3
4 4
1
0
14
1 2 2 1 2 1 1 2 1 2 2 1 1 1
5
1 2
1 14
5 11
3 12
4 7
0
8
4
6
2
8
16 23 45 76 43 97 12 43
7
1 8
3 7
2 7
4 5
5 8
2 6
3 5
3
2
2
1
2
2
1

提示

样例解释

样例 11 解释

第一个游戏中,一种可能的操作序列如下:

  1. 在黑板上写下 00
  2. 将卡片 11, 22, 33 按此顺序从左到右排列在桌面上。
  3. 黑板上当前的数是 00,桌面左起第 11 张卡片上的数是 33。擦去黑板上的 00,改为写下 33
  4. 黑板上当前的数是 33,桌面左起第 22 张卡片上的数是 44。擦去黑板上的 33,改为写下 77
  5. 黑板上当前的数是 77,桌面左起第 33 张卡片上的数是 77。擦去黑板上的 77,改为写下 00。葵吃掉一个外郎糕。
    此时,第一个游戏中葵吃掉的外郎糕数量为 11。可以证明第一个游戏中葵吃掉的外郎糕数量不会超过 11。因此,应输出 11

第二个游戏中,一种可能的操作序列如下:

  1. 在黑板上写下 00
  2. 将卡片 44 排列在桌面上。
  3. 黑板上当前的数是 00,桌面左起第 11 张卡片上的数是 22。擦去黑板上的 00,改为写下 22
    此时,第二个游戏中葵吃掉的外郎糕数量为 00。可以证明第二个游戏中葵吃掉的外郎糕数量不会超过 00。因此,应输出 00

该样例满足子任务 14,6,71\sim 4,6,7 的限制。

样例 22 解释

在第一个游戏中,另一种可能的操作序列如下:

  1. 在黑板上写下 00
  2. 将卡片 11, 22 按此顺序从左到右排列在桌面上。
  3. 黑板上当前的数是 00,桌面左起第 11 张卡片上的数是 11。擦去黑板上的 00,改为写下 11
  4. 黑板上当前的数是 11,桌面左起第 22 张卡片上的数是 22。擦去黑板上的 11,改为写下 33

此时,第一个游戏中葵吃掉的外郎糕数量为 00。可以证明第一个游戏中葵吃掉的外郎糕数量不会超过 00。因此,应输出 00

该样例满足所有子任务的限制。

样例 33 解释

该样例满足子任务 14,71\sim 4,7 的限制。

数据范围

  • 1N2000001 \leq N \leq 200\,000
  • 1Ai1001 \leq A_i \leq 1001iN1 \leq i \leq N);
  • 1Q2000001 \leq Q \leq 200\,000
  • 1LjRjN1 \leq L_j \leq R_j \leq N1jQ1 \leq j \leq Q);
  • 所有给定值均为整数。

子任务

  • Subtask 1 (3 pts)\text{Subtask 1 (3 pts)}N20N \leq 20Q20Q \leq 20
  • Subtask 2 (5 pts)\text{Subtask 2 (5 pts)}N300N \leq 300Q20Q \leq 20
  • Subtask 3 (7 pts)\text{Subtask 3 (7 pts)}N5000N \leq 5\,000Q20Q \leq 20
  • Subtask 4 (15 pts)\text{Subtask 4 (15 pts)}Q20Q \leq 20
  • Subtask 5 (21 pts)\text{Subtask 5 (21 pts)}Ai2A_i \leq 21iN1 \leq i \leq N);
  • Subtask 6 (29 pts)\text{Subtask 6 (29 pts)}Ai20A_i \leq 201iN1 \leq i \leq N);
  • Subtask 7 (20 pts)\text{Subtask 7 (20 pts)}:无额外限制。