排序 緊急集合

2022-05-02 06:15:11 字數 1018 閱讀 4519

題目描述

史上著名的大魔導師列別捷夫曾經說過:「平靜的湖面,鍛鍊不出精悍的水手;安逸的生活打造不出時代的偉人。」這句話用在監獄的獄警身上實在是再恰當不過,由於監獄一千年來從未出過任何差錯,因此幾乎所有的獄警都或多或少的有些懶散,我們可以將之量化為乙個數值即懶散值。所以當典獄長決定集合n個獄警以圍捕修羅王和邪狼時,他所花費的體力是可觀的。

典獄長一次可以將兩群人集合在一起,所花費的體力是這兩堆人的懶散值之和。可以看出,經過n-1次集合,所有的獄警就集合在一起了。例如有3個獄警,懶散值依次為1,2,9。可以先將懶散值為1、2的獄警合併為一群,新群數目為3,耗費體力為3。接著,將新群與懶散值為9的獄警合併,又得到新的群,數目為12,耗費體力為12。所以典獄長總共耗費體力=3+12=15。可以證明15為最小的體力耗費值。那麼,怎樣集合,典獄長花費的體力最少呢?

輸入包括兩行,第一行是乙個整數n(1≤n≤10000),表示獄警人數。第二行包含n個整數,用空格分隔,第i個整數ai(1≤ai≤20000)是第i個獄警的懶散值。

輸出包括一行,這一行只包含乙個整數,也就是最小的體力耗費值。輸入資料保證這個值小於231。

樣例輸入

3

1 2 9

樣例輸出
15

提示

對於30%的資料,保證有n≤1000;

對於50%的資料,保證有n≤5000;

對於全部的資料,保證有n≤10000。

題目非常水,放在這就是警醒自己,不要只排一次序!!!

#include #define ll long long

#define met(a) memset(a,0,sizeof a)

#define inf 0x3f3f3f3f

using

namespace

std;

ll a[

10100

];int

main()

cout

return0;

}

view code

排序 緊急集合

時間限制 1 sec 記憶體限制 64 mb 提交 32 解決 13 提交 狀態 討論版 命題人 題目描述 史上著名的大魔導師列別捷夫曾經說過 平靜的湖面,鍛鍊不出精悍的水手 安逸的生活打造不出時代的偉人。這句話用在監獄的獄警身上實在是再恰當不過,由於監獄一千年來從未出過任何差錯,因此幾乎所有的獄警...

排序 緊急集合

時間限制 1 sec 記憶體限制 64 mb 提交 26 解決 10 提交 狀態 討論版 命題人 admin 題目描述 史上著名的大魔導師列別捷夫曾經說過 平靜的湖面,鍛鍊不出精悍的水手 安逸的生活打造不出時代的偉人。這句話用在監獄的獄警身上實在是再恰當不過,由於監獄一千年來從未出過任何差錯,因此幾...

upc 緊急集合 優先佇列

問題 c 排序 緊急集合 時間限制 1 sec 記憶體限制 64 mb 題目描述 史上著名的大魔導師列別捷夫曾經說過 平靜的湖面,鍛鍊不出精悍的水手 安逸的生活打造不出時代的偉人。這句話用在監獄的獄警身上實在是再恰當不過,由於監獄一千年來從未出過任何差錯,因此幾乎所有的獄警都或多或少的有些懶散,我們...