QOJ.ac

QOJ

حد الوقت: 1.5 s حد الذاكرة: 64 MB مجموع النقاط: 100

#17901. Printer's Head

الإحصائيات

Johnny 买了一台 3D 打印机。他想在一个简单的任务上测试它:按给定顺序打印 $n$ 个底面为相同正方形且高度分别为 $1, 2, \dots, n$ 的长方体。打印机通过从左到右和从右到左的扫描(sweep)来工作,这些扫描可以任意混合,即可以连续执行两次从左到右的扫描,从右到左也是如此。在一次扫描中,打印机可以在任意数量的位置停下并在每个位置上打印一个长方体;打印的第一个长方体具有给定的高度,之后打印的每一个长方体的高度都比前一个低 $1$(因为打印头会冷却)。打印机不能在已经打印过东西的位置上再次打印。每次扫描都需要花费资金。请帮助 Johnny 最小化完成该任务所需的扫描次数。

输入格式

输入第一行包含一个正整数 $n$ ($1 \le n \le 10^6$),表示需要打印的长方体数量。

第二行(也是最后一行)包含一个由 $n$ 个两两不同的正整数组成的序列 $a_i$ ($1 \le a_i \le n$)。这些是待打印的连续长方体的高度。

输出格式

输出一个正整数:打印给定长方体序列所需的最小扫描次数。

样例

输入样例 1

6
3 2 4 1 5 6

输出样例 1

2

输入样例 2

8
8 7 4 1 5 2 3 6

输出样例 2

3

说明

在第一个样例中,Johnny 可以在一次从右到左的扫描中打印高度为 $6, 5, 4, 3$ 的长方体,并在一次从左到右的扫描中打印高度为 $2, 1$ 的长方体。

在第二个样例中,Johnny 可以在一次从左到右的扫描中打印高度为 $8, 7, 6$ 的长方体,然后通过一次从右到左的扫描打印 $5, 4$,最后再通过一次从右到左的扫描打印 $3, 2, 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.