#P1044. P11994 [JOIST 2025] 外郎糕 / Uiro
P11994 [JOIST 2025] 外郎糕 / Uiro
P11994 [JOIST 2025] 外郎糕 / Uiro
题目描述
葵有 张卡片,编号从 到 。每张卡片上都写有一个正整数。卡片 ()上写的数是 。
葵将使用这些卡片和黑板进行 次游戏。她进行的第 次游戏()包含以下步骤:
- 在黑板上写下 。
- 将编号为 , , ..., 的卡片按此顺序从左到右排列在桌面上。
- 进行 次操作。第 次操作()如下:
- 设黑板上当前写的数为 ,桌面左起第 张卡片上的数为 。擦去黑板上的 ,改为写下 或 。
- 若选择 ,葵将吃掉一个外郎糕。
- 但此时写在黑板上的数必须严格非负。
对于每个游戏,你需要求出葵能吃掉外郎糕的最大数量。
给定卡片信息和游戏信息,请编写程序计算每个游戏中葵能吃掉外郎糕的最大数量。
输入格式
输出格式
输出 行。第 行()输出第 个游戏中葵能吃掉外郎糕的最大数量。
输入输出样例 #1
输入 #1
5
3 4 7 2 8
2
1 3
4 4
输出 #1
1
0
输入输出样例 #2
输入 #2
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
输出 #2
0
8
4
6
2
输入输出样例 #3
输入 #3
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
3
2
2
1
2
2
1
说明/提示
样例解释
样例 解释
在第一个游戏中,一种可能的操作序列如下:
- 在黑板上写下 。
- 将卡片 , , 按此顺序从左到右排列在桌面上。
- 黑板上当前的数是 ,桌面左起第 张卡片上的数是 。擦去黑板上的 ,改为写下 。
- 黑板上当前的数是 ,桌面左起第 张卡片上的数是 。擦去黑板上的 ,改为写下 。
- 黑板上当前的数是 ,桌面左起第 张卡片上的数是 。擦去黑板上的 ,改为写下 。葵吃掉一个外郎糕。
此时,第一个游戏中葵吃掉的外郎糕数量为 。可以证明第一个游戏中葵吃掉的外郎糕数量不会超过 。因此,应输出 。
在第二个游戏中,一种可能的操作序列如下:
- 在黑板上写下 。
- 将卡片 排列在桌面上。
- 黑板上当前的数是 ,桌面左起第 张卡片上的数是 。擦去黑板上的 ,改为写下 。
此时,第二个游戏中葵吃掉的外郎糕数量为 。可以证明第二个游戏中葵吃掉的外郎糕数量不会超过 。因此,应输出 。
该样例满足子任务 的限制。
样例 解释
在第一个游戏中,另一种可能的操作序列如下:
- 在黑板上写下 。
- 将卡片 , 按此顺序从左到右排列在桌面上。
- 黑板上当前的数是 ,桌面左起第 张卡片上的数是 。擦去黑板上的 ,改为写下 。
- 黑板上当前的数是 ,桌面左起第 张卡片上的数是 。擦去黑板上的 ,改为写下 。
此时,第一个游戏中葵吃掉的外郎糕数量为 。可以证明第一个游戏中葵吃掉的外郎糕数量不会超过 。因此,应输出 。
该样例满足所有子任务的限制。
样例 解释
该样例满足子任务 的限制。
数据范围
- ;
- ();
- ;
- ();
- 所有给定值均为整数。
子任务
- :,;
- :,;
- :,;
- :;
- :();
- :();
- :无额外限制。