QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 256 MB Total points: 100

#20859. 午睡排序

Statistics

Bessie 想用自己的演算法給整數陣列排序。她有一堆 $N$ 個整數 $a_1,a_2,\dots,a_N$,滿足 $(1 \leq N \leq 2\cdot 10^5)$ 和 $(1 \leq a_i \leq 10^{11})$,要將它們按有序順序放入另一個陣列。她反覆找出這堆整數中的最小值,將其取走並加入陣列末尾。從一堆 $p$ 個整數中找出最小值需要 $p$ 秒。

Farmer John 讓農場裡其他一些奶牛幫助 Bessie,但她們很懶,於是 Bessie 利用了這一點。她將整數分成 Bessie 堆和助手堆。對於 Bessie 堆中的每個整數,她照常執行自己的演算法。助手堆中的每個整數則交給不同的助手奶牛。Farmer John 的農場很大,因此她可以找任意多名助手。如果助手收到整數 $a_i$,Bessie 就讓她睡 $a_i$ 秒,醒來後立刻將這個整數加入陣列末尾。如果 Bessie 與助手同時加入整數,因為她是領頭的,她的整數會先加入。如果多名助手被分配到同一個整數,她們會同時將該整數的多個副本加入陣列。

幫助 Bessie 分配整數,使最終陣列有序,並使排序所需時間最短。

輸入格式

第一行包含獨立測試用例數 $T$($1\le T\le 10$)。

每個測試用例的格式如下:

每個測試用例的第一行包含 Bessie 陣列中的整數個數 $N$。

下一行包含要排序的整數 $a_1, a_2, \dots, a_N$。同一整數可以出現多次。

保證所有測試用例的 $N$ 之和不超過 $2\cdot 10^5$。

輸出格式

對於每個測試用例,輸出最優分配下排序陣列所需的最短時間,每個答案占一行。

範例

輸入格式 1

4
5
1 2 4 5 100000000000
5
17 53 4 33 44
4
3 5 5 5
6
2 5 100 1 4 5

輸出格式 1

6
15
5
6

說明

第一個例子中,Bessie 可以將 $1,2$ 分配給助手,自己留下 $4,5,10^{11}$。

時間 事件
1 助手加入 1
2 助手加入 2
3 Bessie 加入 4
5 Bessie 加入 5
6 Bessie 加入 $10^{11}$

第二個例子中,最優方案是全部由 Bessie 自己排序。一種不可行的分配是讓助手處理 $4$,其餘留給自己,因為這樣她會在助手加入 $4$ 前將 $17$ 加入陣列。

第三個例子中,她可以將所有整數分配給助手。

第四個例子中,她可以將 $1,4,5$ 分配給助手,自己留下 $2,5,100$。

時間 事件
1 助手加入 1
3 Bessie 加入 2
4 助手加入 4
5 Bessie 加入 5
5 助手加入 5
6 Bessie 加入 100

子任務

  • 輸入 2:$N\le 16$
  • 輸入 3–5:$N\le 150$
  • 輸入 6–8:$\sum N\le 5000$
  • 輸入 9–11:沒有額外限制。

題目來源:Suhas Nagar

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.