B. 合并球

    传统题 1000ms 256MiB

合并球

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

有一个空的列和 NN 个球,第 ii 个球的大小为 2Ai2^{A_i},其中 1iN1 \leq i \leq N

接下来进行 NN 次操作。
ii 次操作的过程如下:

  1. 将第 ii 个球添加到列的最右边。
  2. 如果列中只有一个或没有球,则操作结束。
  3. 如果列中右侧的两个球大小不相同,则操作结束。
  4. 如果列中右侧的两个球大小相同,则移除这两个球,并将这两个球的大小之和(即 2x+2x=2x+12^x + 2^x = 2^{x+1})作为一个新的球添加到列的最右边,然后返回步骤 1 继续操作。

在完成所有 NN 次操作后,求列中剩余的球的数量。

输入格式

输入的第一行包含一个整数 NN,表示球的数量。

接下来的 NN 行,每行包含一个整数 AiA_i,表示第 ii 个球的大小为 2Ai2^{A_i}

输出格式

输出一个整数,表示操作结束后列中剩余的球的数量。

输入输出样例

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

说明/提示

约束条件

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 0Ai1090 \leq A_i \leq 10^9
  • 所有输入均为整数

样例解释 1

操作过程如下:

  • 第 1 次操作后,列中有 1 个球,大小为 222^2
  • 第 2 次操作后,列中有 2 个球,大小分别为 222^2212^1
  • 第 3 次操作后,列中有 1 个球,大小为 232^3。具体过程:
    • 第 3 次操作时,列中的球的大小分别为 22,21,212^2, 2^1, 2^1,右侧的两个球大小相同,它们被移除并合并成一个 222^2 的球。
    • 然后列中有两个球,大小分别为 222^2222^2,再次合并成一个 232^3 的球。
  • 第 4 次操作后,列中有 1 个球,大小为 242^4
  • 第 5 次操作后,列中有 2 个球,大小分别为 242^4252^5
  • 第 6 次操作后,列中有 3 个球,大小分别为 24,25,232^4, 2^5, 2^3
  • 第 7 次操作后,列中有 3 个球,大小分别为 24,25,242^4, 2^5, 2^4

因此,最后列中剩余的球的数量为 3。

样例解释 2

操作过程如下:

  • 第 1 次操作后,列中有 1 个球,大小为 202^0
  • 第 2 次操作后,列中有 1 个球,大小为 212^1
  • 第 3 次操作后,列中有 2 个球,大小分别为 212^1202^0
  • 第 4 次操作后,列中有 3 个球,大小分别为 212^1202^0212^1
  • 第 5 次操作后,列中有 4 个球,大小分别为 212^1202^0212^1222^2

因此,最后列中剩余的球的数量为 4。

[Engeeker周赛 Div1] 20250321

未参加
状态
已结束
规则
IOI
题目
2
开始于
2025-3-21 0:00
结束于
2025-3-24 0:00
持续时间
2 小时
主持人
参赛人数
2