QOJ.ac

QOJ

Time Limit: 1.5 s Memory Limit: 1024 MB Total points: 100

#23313. 停車塔

Statistics

有一座圓形停車塔,其中 $N$ 個車位圍成一圈。按順時針方向依序稱為第 1、第 2、……、第 $N$ 個車位。每個車位都有一輛車。第 $i$ 個車位中的車的編號為 $a_i$。

problem_23313_16ef32cc5fecab19e06f4325725d29cc.png

停車塔有兩個按鈕。按下按鈕 A 可使停車塔順時針旋轉一個車位,按下按鈕 B 則使其逆時針旋轉一個車位。下方左圖表示上例按下 A 後的狀態,右圖表示按下 B 後的狀態。

problem_23313_6f89c22ce1d352742a93973f8ff6622c.png

現在要將停車塔中的所有車取出。

只能從最下方的一個車位取車。初始時第 1 個車位位於最下方。要取出其他車位中的車,必須先適當按動按鈕旋轉停車塔,使該車所在車位移到最下方。

此外,要取出編號為 $x$ 的車,必須先取出所有編號小於 $x$ 的車。也就是說,只要塔內還剩下編號小於 $x$ 的車,就不能取出編號為 $x$ 的車。

請編寫程式,求出取出所有車所需按動按鈕的最少總次數。

資料範圍

  • $1 \le N \le 100\,000$
  • $1 \le a_i \le 1\,000\,000\,000$

子任務

1.(8 分)$a_i=1$($1\le i\le N$),即所有車的編號均為 1。 2.(9 分)當 $i\ne j$ 時有 $a_i\ne a_j$,即所有車的編號互不相同。 3.(10 分)$N\le10$。 4.(21 分)$N\le100$。 5.(31 分)$N\le1\,000$。 6.(21 分)沒有額外限制。

輸入格式

第一行給出整數 $N$。

第二行按順序給出車的編號 $a_1,\ldots,a_N$,用空格分隔。

輸出格式

在第一行輸出按動按鈕的最少總次數。

範例

輸入格式 1

4
1 2 2 1

輸出格式 1

3

說明

可以按以下順序操作:取車 → 按鈕 A → 取車 → 按鈕 A → 取車 → 按鈕 A → 取車。

輸入格式 2

5
3 1 4 5 1

輸出格式 2

7

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.