AT_abc351_c [ABC351C] Merge the balls

题目描述

有一个空的队列和 $N$ 个球。第 $i$ 个球($1\leq i\leq N$)的大小为 $2^{A_i}$。 接下来要进行 $N$ 次操作。 在第 $i$ 次操作中,将第 $i$ 个球加入队列的最右端,然后重复以下步骤: 1. 如果队列中的球数不超过 $1$,则结束本次操作。 2. 如果队列中从右数第 $1$ 个和第 $2$ 个球的大小**不同**,则结束本次操作。 3. 如果队列中从右数第 $1$ 个和第 $2$ 个球的大小**相同**,则将这两个球移除,并在队列最右端加入一个大小为“被移除的两个球大小之和”的新球。之后回到步骤 1,继续重复操作。 请在 $N$ 次操作结束后,输出队列中剩余球的数量。

输入格式

输入通过标准输入按以下格式给出。 > $N$ $A_1$ $A_2$ $\ldots$ $A_N$

输出格式

请输出 $N$ 次操作结束后队列中剩余球的数量。

说明/提示

## 限制条件 - $1\leq N \leq 2\times 10^5$ - $0\leq A_i \leq 10^9$ - 输入均为整数 ## 样例解释 1 操作过程如下: - 第 $1$ 次操作后,队列中有 $1$ 个球,大小为 $2^2$。 - 第 $2$ 次操作后,队列中有 $2$ 个球,大小依次为 $2^2$、$2^1$。 - 第 $3$ 次操作后,队列中有 $1$ 个球,大小为 $2^3$。具体过程如下: - 在第 $3$ 次操作中加入第 $3$ 个球后,队列中球的大小依次为 $2^2, 2^1, 2^1$。 - 由于最右边两个球大小相同,将它们移除,并加入一个大小为 $2^1+2^1=2^2$ 的球。此时队列中球的大小为 $2^2, 2^2$。 - 再次发现最右边两个球大小相同,将它们移除,并加入一个大小为 $2^2+2^2=2^3$ 的球,队列中只剩下 $2^3$。 - 第 $4$ 次操作后,队列中有 $1$ 个球,大小为 $2^4$。 - 第 $5$ 次操作后,队列中有 $2$ 个球,大小依次为 $2^4$、$2^5$。 - 第 $6$ 次操作后,队列中有 $3$ 个球,大小依次为 $2^4$、$2^5$、$2^3$。 - 第 $7$ 次操作后,队列中有 $3$ 个球,大小依次为 $2^4$、$2^5$、$2^4$。 因此,最后队列中球的数量为 $3$,输出 $3$。 ## 样例解释 2 操作过程如下: - 第 $1$ 次操作后,队列中有 $1$ 个球,大小为 $2^0$。 - 第 $2$ 次操作后,队列中有 $1$ 个球,大小为 $2^1$。 - 第 $3$ 次操作后,队列中有 $2$ 个球,大小依次为 $2^1$、$2^0$。 - 第 $4$ 次操作后,队列中有 $3$ 个球,大小依次为 $2^1$、$2^0$、$2^1$。 - 第 $5$ 次操作后,队列中有 $4$ 个球,大小依次为 $2^1$、$2^0$、$2^1$、$2^2$。 因此,最后队列中球的数量为 $4$,输出 $4$。 由 ChatGPT 4.1 翻译