212. Add all

0 Judge

Code: 0


Add all

是的,題目名稱就是你要做的任務:把一些數加起來。但是這對你來說一定是太簡單了,所以讓我們加一些東西在裡面。

做加法要付出的代價(cost) 定義為這$2$個數的總和,所以要加 $1$ 和 $10$ 所需付出的代價為 $11$ 。假如你想要加 $1$, $2$ 和 $3$,那麼有以下幾種方法:

$1 + 2 = 3, cost = 3$
$3 + 3 = 6, cost = 6$
$Total = 9$
$1 + 3 = 4, cost = 4$
$2 + 4 = 6, cost = 6$
$Total = 10$
$2 + 3 = 5, cost = 5$
$1 + 5 = 6, cost = 6$
$Total = 11$

我希望你已經瞭解你的任務,就是把 $N$ 個數加起來使得付出的代價最少。

輸入說明

輸入含有多組測試資料。

每組測試資料開始有一個正整數 $N(2\leq N \leq 10^5)$ ,接下來有 $N$ 個正整數(均小於$10^8$)。

當 $N=0$ 時代表輸入結束。請參考範例輸入。

  • 對於$20\%$的測試資料保證$1\leq n\leq 20$
  • 對於$50\%$的測試資料保證$1\leq n\leq 1000$
  • 對於$100\%$的測試資料保證$1\leq n\leq 10^5$,所有數字均小於$10^8$

輸出說明

對每一組測試資料輸出一列,相加這 $N$ 個數付出的代價最少是多少。

範例輸入

範例輸出

題目來源

UVa


Judge Setting

run-time limit: 550 ms
memory limit: 655360 byte
測資數量: 0