#aBC351C. [ABC351C] Merge the balls
[ABC351C] Merge the balls
AT_abc351_c [ABC351C] Merge the balls
题目描述
有一个空的队列和 个球。第 个球()的大小为 。
接下来要进行 次操作。
在第 次操作中,将第 个球加入队列的最右端,然后重复以下步骤:
- 如果队列中的球数不超过 ,则结束本次操作。
- 如果队列中从右数第 个和第 个球的大小不同,则结束本次操作。
- 如果队列中从右数第 个和第 个球的大小相同,则将这两个球移除,并在队列最右端加入一个大小为“被移除的两个球大小之和”的新球。之后回到步骤 1,继续重复操作。
请在 次操作结束后,输出队列中剩余球的数量。
输入格式
输入通过标准输入按以下格式给出。
输出格式
请输出 次操作结束后队列中剩余球的数量。
输入输出样例 #1
输入 #1
7
2 1 1 3 5 3 3
输出 #1
3
输入输出样例 #2
输入 #2
5
0 0 0 1 2
输出 #2
4
说明/提示
限制条件
- 输入均为整数
样例解释 1
操作过程如下:
- 第 次操作后,队列中有 个球,大小为 。
- 第 次操作后,队列中有 个球,大小依次为 、。
- 第 次操作后,队列中有 个球,大小为 。具体过程如下:
- 在第 次操作中加入第 个球后,队列中球的大小依次为 。
- 由于最右边两个球大小相同,将它们移除,并加入一个大小为 的球。此时队列中球的大小为 。
- 再次发现最右边两个球大小相同,将它们移除,并加入一个大小为 的球,队列中只剩下 。
- 第 次操作后,队列中有 个球,大小为 。
- 第 次操作后,队列中有 个球,大小依次为 、。
- 第 次操作后,队列中有 个球,大小依次为 、、。
- 第 次操作后,队列中有 个球,大小依次为 、、。
因此,最后队列中球的数量为 ,输出 。
样例解释 2
操作过程如下:
- 第 次操作后,队列中有 个球,大小为 。
- 第 次操作后,队列中有 个球,大小为 。
- 第 次操作后,队列中有 个球,大小依次为 、。
- 第 次操作后,队列中有 个球,大小依次为 、、。
- 第 次操作后,队列中有 个球,大小依次为 、、、。
因此,最后队列中球的数量为 ,输出 。
由 ChatGPT 4.1 翻译