Type: Default 1000ms 256MiB

[ABC351C] Merge the balls

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目背景

翻译自「Atcoder ABC351C」

题目描述

有一个空序列和 NN 个球。第 ii 个球 (1iN)(1≤i≤N) 的大小是 2Ai2^{A_i}。你将执行 NN 次操作:在第 ii 次操作中,你将第 ii 个球添加到序列的右端,然后重复以下步骤:

  1. 如果序列中只有一个或没有球,结束操作。

  2. 如果序列中最右边的球和倒数第二个球的大小不同,结束本轮操作。

  3. 如果序列中最右边的球和倒数第二个球的大小相同,移除这两个球并在序列右端添加一个新球,新球的大小等于被移除的两个球大小之和。然后,返回步骤 11 并重复此过程。

确定 NN 次操作后序列中剩余的球的数量。

输入格式

第一行输入一个正整数 NN

第二行输入 NN 个整数 A1,A2,,AnA_1,A_2,\cdots,A_n

输出格式

输出 NN 次操作后序列中剩余的球的数量。

样例

7
2 1 1 3 5 3 3
3
5
0 0 0 1 2
4

说明/提示

样例 1 解释

操作过程如下:

  • 第一次操作后,序列有一个大小为 222^2 的球。

  • 第二次操作后,序列有两个球,大小分别为 222^2212^1

  • 第三次操作后,序列有一个大小为 232^3 的球。这是通过以下步骤得到的:

    • 当第三个球被添加时,序列中的球大小为 22,21,212^2,2^1,2^1
    • 最右边的两个球大小相同,所以它们被移除,并添加一个大小为 21+21=222^1+2^1=2^2 的新球。现在序列中的球大小为 22,222^2,2^2
    • 再次,最右边的两个球大小相同,所以它们被移除,并添加一个大小为 22+22=232^2+2^2=2^3 的新球,留下一个大小为 232^3 的球。
  • 第四次操作后,序列有一个大小为 242^4 的球。

  • 第五次操作后,序列有两个球,大小分别为 242^4252^5

  • 第六次操作后,序列有三个球,大小分别为 24,25,232^4,2^5,2^3

  • 第七次操作后,序列有三个球,大小分别为 24,25,242^4,2^5,2^4

因此,你应该输出 33,这是序列中最终的球的数量。

样例 2 解释

  • 第一次操作后,序列有一个大小为 202^0 的球。

  • 第二次操作后,序列有一个大小为 212^1 的球。

  • 第三次操作后,序列有两个球,大小分别为 212^1202^0

  • 第四次操作后,序列有三个球,大小分别为 21,20,212^1,2^0,2^1

  • 第五次操作后,序列有四个球,大小分别为 21,20,21,222^1,2^0,2^1,2^2

因此,你应该输出 44,这是序列中最终的球的数量。

数据范围

1N2×105,0Ai1091\le N\le 2\times 10^5,0\le A_i \le 10^9,所有输入值都是整数。

季科_周天上午

Not Claimed
Status
Done
Problem
12
Open Since
2025-3-22 0:00
Deadline
2026-1-23 23:59
Extension
24 hour(s)