QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 32 MB Total points: 100

#12699. 积木

Statistics

小阿加莎在生日时收到了一套积木。这些积木都是大小相同的立方体。每块积木上都刻有一个正整数。由于她非常喜欢这些积木,她立即用所有的积木搭起了一座高塔。

妈妈告诉阿加莎,这个游戏的目标是搭出一座塔,使得尽可能多的积木处于正确的位置。如果一块刻有数字 $i$ 的积木位于塔的第 $i$ 层(最底层的积木位于第 1 层,其上的积木位于第 2 层,以此类推),那么这块积木就处于正确的位置。

阿加莎决定小心地(为了不让塔倒塌)移除一些积木,使得处于正确位置的积木数量尽可能多。请建议阿加莎应该移除哪些积木。

任务

编写一个程序,完成以下工作: 从标准输入读取阿加莎最初搭建的塔的描述; 确定需要移除哪些积木; * 将结果写入标准输出。

输入格式

标准输入的第一行包含一个整数 $n$ ($1 \le n \le 100\,000$),表示塔的初始高度。第二行包含 $n$ 个正整数:$a_1, a_2, \dots, a_n$ ($1 \le a_i \le 1\,000\,000$),由空格分隔,表示刻在积木上的数字。数字按从最底层到最顶层的顺序给出。

输出格式

在标准输出的第一行,你的程序应输出需要移除的积木数量,以使处于正确位置的积木数量最大化。第二行应包含需要移除的积木编号(由空格分隔)。积木从 1 到 $n$ 编号,从初始塔的最底层到最顶层计数。如果存在多种解决方案,你的程序只需输出其中任意一种。

样例

输入 1

5
1 1 2 5 4

输出 1

1
1

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.