4195: Merge the balls
内存限制:128 MB
时间限制:1.000 S
评测方式:文本比较
命题人:
提交:0
解决:0
题目描述
# Merge the balls
### 内存
1024MB
### 时间
2S
## 题目描述
有一个空序列和 $N$ 个球。第 $i$ 个球 ($1 ≤ i ≤ N$) 的大小是 $2^{A_i}$。你将执行 $N$ 次操作:在第 $i$ 次操作中,你将第 $i$ 个球添加到序列的右端,然后重复以下步骤:
1. 如果序列中只有一个或没有球,结束操作。
2. 如果序列中最右边的球和倒数第二个球的大小**不同**,结束操作。
3. 如果序列中最右边的球和倒数第二个球的大小**相同**,移除这两个球并在序列右端添加一个新球,新球的大小等于被移除的两个球大小之和。然后,返回步骤$1$并重复此过程。
确定 $N$ 次操作后序列中剩余的球的数量。
## 输入格式
输入以以下格式从标准输入中给出:
$N$
$A_1$ $A_2$ $\cdots$ $A_N$
## 输出格式
输出 $N$ 次操作后序列中剩余的球的数量。
## 输入输出样例
### 输入样例1
```
7
2 1 1 3 5 3 3
```
### 输出样例1
```
3
```
### 输入样例2
```
5
0 0 0 1 2
```
### 输出样例2
```
4
```
## 数据范围与提示
【样例1说明】
操作过程如下:
- 第一次操作后,序列有一个大小为 $2^2$ 的球。
- 第二次操作后,序列有两个球,大小分别为 $2^2$ 和 $2^1$。
- 第三次操作后,序列有一个大小为 $2^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$ 的球。
- 第四次操作后,序列有一个大小为 $2^4$ 的球。
- 第五次操作后,序列有两个球,大小分别为 $2^4$ 和 $2^5$。
- 第六次操作后,序列有三个球,大小分别为 $2^4$、$2^5$、$2^3$。
- 第七次操作后,序列有三个球,大小分别为 $2^4$、$2^5$、$2^4$。
因此,你应该输出 3,这是序列中最终的球的数量。
【样例2说明】
操作过程如下:
- 第一次操作后,序列有一个大小为 $2^0$ 的球。
- 第二次操作后,序列有一个大小为 $2^1$ 的球。
- 第三次操作后,序列有两个球,大小分别为 $2^1$ 和 $2^0$。
- 第四次操作后,序列有三个球,大小分别为 $2^1$、$2^0$、$2^1$。
- 第五次操作后,序列有四个球,大小分别为 $2^1$、$2^0$、$2^1$、$2^2$。
因此,你应该输出 4,这是序列中最终的球的数量。
【数据范围】
$1 \leq N \leq 2 \times 10^5$
$0 \leq A_i \leq 10^9$
所有输入值都是整数。
## 题目来源
ABC351C