排序 緊急集合

2022-08-29 07:54:09 字數 1193 閱讀 5813

時間限制: 1 sec  記憶體限制: 64 mb

提交: 26  解決: 10

[提交] [狀態] [討論版] [命題人:admin]

題目描述

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

一定要注意:每次都要排序!!!!

1 #include 2 #include3

using

namespace

std;

4 typedef long

long

ll;5

ll ans;

6 ll a[1000005

],n;

7int

main()

816 sort(a,a+n);

17for(ll i=1;i)

1823 cout

24//

cout << "hello world!" << endl;

25return0;

26 }

view code

排序 緊急集合

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

排序 緊急集合

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

upc 緊急集合 優先佇列

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