UOJ Logo Universal Online Judge

UOJ

#978. 【JOISC2025】外郎糕

附件下载 统计

葵有 N 张卡片,编号从 1N。每张卡片上都写有一个正整数。卡片 i1iN)上写的数是 Ai

葵将使用这些卡片和黑板进行 Q 次游戏。她进行的第 j 次游戏(1jQ)包含以下步骤:

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

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

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

输入格式

  • N
  • A1 A2 AN
  • Q
  • L1 R1
  • L2 R2
  • LQ RQ

输出格式

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

样例一

input

5  
3 4 7 2 8  
2  
1 3  
4 4

output

1  
0

explanation

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

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

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

  1. 在黑板上写下 0
  2. 将卡片 4 排列在桌面上。
  3. 黑板上当前的数是 0,桌面左起第 1 张卡片上的数是 2。擦去黑板上的 0,改为写下 2

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

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

样例二

input

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

output

0  
8  
4  
6  
2

explanation

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

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

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

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

样例三

input

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

output

3  
2  
2  
1  
2  
2  
1

explanation

该样例满足子任务 14,7 的限制。

数据范围

  • 1N200000
  • 1Ai1001iN);
  • 1Q200000
  • 1LjRjN1jQ);
  • 所有给定值均为整数。

子任务

  • Subtask 1 (3 pts)N20Q20
  • Subtask 2 (5 pts)N300Q20
  • Extra close brace or missing open braceN5000Q20
  • Subtask 4 (15 pts)Q20
  • Subtask 5 (21 pts)Ai21iN);
  • Subtask 6 (29 pts)Ai201iN);
  • Subtask 7 (20 pts):无额外限制。