AT_abc351_c.[ABC351C] Merge the balls

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个空的队列和 NN 个球。第 ii 个球(1≤i≤N1\leq i\leq N)的大小为 2Ai2^{A_i}。

接下来要进行 NN 次操作。
在第 ii 次操作中,将第 ii 个球加入队列的最右端,然后重复以下步骤:

  1. 如果队列中的球数不超过 11,则结束本次操作。
  2. 如果队列中从右数第 11 个和第 22 个球的大小不同,则结束本次操作。
  3. 如果队列中从右数第 11 个和第 22 个球的大小相同,则将这两个球移除,并在队列最右端加入一个大小为“被移除的两个球大小之和”的新球。之后回到步骤 1,继续重复操作。

请在 NN 次操作结束后,输出队列中剩余球的数量。

输入格式

输入通过标准输入按以下格式给出。

NN A1A_1 A2A_2 …\ldots ANA_N

输出格式

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

输入输出样例

  • 输入#1

    7
    2 1 1 3 5 3 3

    输出#1

    3
  • 输入#2

    5
    0 0 0 1 2

    输出#2

    4

说明/提示

限制条件

  • 1≤N≤2×1051\leq N \leq 2\times 10^5
  • 0≤Ai≤1090\leq A_i \leq 10^9
  • 输入均为整数

样例解释 1

操作过程如下:

  • 第 11 次操作后,队列中有 11 个球,大小为 222^2。
  • 第 22 次操作后,队列中有 22 个球,大小依次为 222^2、212^1。
  • 第 33 次操作后,队列中有 11 个球,大小为 232^3。具体过程如下:
    • 在第 33 次操作中加入第 33 个球后,队列中球的大小依次为 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。
  • 第 44 次操作后,队列中有 11 个球,大小为 242^4。
  • 第 55 次操作后,队列中有 22 个球,大小依次为 242^4、252^5。
  • 第 66 次操作后,队列中有 33 个球,大小依次为 242^4、252^5、232^3。
  • 第 77 次操作后,队列中有 33 个球,大小依次为 242^4、252^5、242^4。

因此,最后队列中球的数量为 33,输出 33。

样例解释 2

操作过程如下:

  • 第 11 次操作后,队列中有 11 个球,大小为 202^0。
  • 第 22 次操作后,队列中有 11 个球,大小为 212^1。
  • 第 33 次操作后,队列中有 22 个球,大小依次为 212^1、202^0。
  • 第 44 次操作后,队列中有 33 个球,大小依次为 212^1、202^0、212^1。
  • 第 55 次操作后,队列中有 44 个球,大小依次为 212^1、202^0、212^1、222^2。

因此,最后队列中球的数量为 44,输出 44。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页