QOJ.ac

QOJ

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

#1171. 整數陣列洗牌

الإحصائيات

給定一個大小為 $N$ 的整數陣列 $A$,洗牌(shuffle)操作定義如下:

  • 最初,建立一個空的整數陣列 $B$。
  • 接著,當 $A$ 不為空時,移除 $A$ 的最左側或最右側元素,並將該值附加到 $B$ 的右側。
  • 若 $A$ 為空,則將 $A$ 替換為 $B$ 並停止。

若洗牌操作如上圖所示執行,陣列 $A$ 的值變化如下:

$(34, 19, 5, 36, 4, 25, 12, 9) \to (9, 34, 19, 12, 25, 4, 5, 36)$。

令 $A_i$ 為陣列 $A$ 的第 $i$ 個元素。當條件「若 $1 \le i < j \le N$,則 $A_i \le A_j$」成立時,稱陣列 $A$ 為單調遞增。

請撰寫一個程式,給定一個大小為 $N$ 的整數陣列 $A$,計算使陣列 $A$ 變為單調遞增所需的最少洗牌操作次數。

輸入格式

第一行包含一個整數 $N$,代表陣列 $A$ 的元素個數 ($1 \le N \le 3 \cdot 10^5$)。 第二行包含 $N$ 個整數 $A_1, \dots, A_N$:陣列 $A$ 的初始值 ($1 \le A_i \le 10^9$)。

輸出格式

輸出使陣列 $A$ 變為單調遞增所需的最少洗牌操作次數。

範例

輸入 1

3
2 2 5

輸出 1

0

輸入 2

6
1 5 8 10 3 2

輸出 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.