d759. 10271 - Chopsticks
標籤 :
通過比率 : 40人/46人 ( 87% ) [非即時]
評分方式:
Tolerant

最近更新 : 2010-08-13 21:58

內容

在中國,人們用一雙筷子來挾取桌上的食物。但是李先生有點不同,他使用三支筷子。除了原來的一雙筷子外,他用另一支特別長的筷子來叉食物。如同你所猜想的,那2支較短的筷子的長度應該盡可能的接近。而第三支筷子的長度則不是那麼重要,只要是3支筷子中最長的就可以了。為了讓事情清楚些,我們說三支筷子的長度為A、B、C(A <= B <= C),我們稱 (A-B)2 為一組筷子的「爛度(badness)」。

現在是12月2號,是李先生的生日。他邀請 K 個人來參加他的生日宴會,並且要介紹他使用筷子的方法。所以他準備了 K+8 組筷子(給他自己、他老婆、他小兒子、他小女兒、他爸爸、媽媽、岳父、岳母,以及 K 個客人)。但是李先生突然發現他的筷子有不同的長度。他想要找到一個方法來組成這 K+8 組筷子,使得這K+8 組筷子的「爛度」和為最小。

輸入說明

輸入的第一列有一個整數 T,代表以下有多少組測試資料。( 1 <= T <= 20)

每組測試資料的第一列有2個整數 KN(0 <= K <= 1000, 3K+24 <= N <= 5000)開始。K 代表客人的數目,N 代表筷子的數目。接下來的一列有 N 個正整數代表這 N 支筷子的長度。這N個數以「非遞減」的順序出現。(1<=筷子的長度<=32000)

輸出說明
對每一組測試資料輸出「爛度」最小為多少。
範例輸入 #1
2
1 40
1 8 10 16 19 22 27 33 36 40 47 52 56 61 63 71 72 75 81 81 84 88 96 98 103 110 113 118 124 128 129 134 134 139 148 157 157 160 162 164
2 40
3 8 10 16 19 22 27 33 36 40 47 52 56 61 63 71 72 75 81 81 84 88 96 98 103 110 113 118 124 128 129 134 134 139 148 157 157 160 162 199
範例輸出 #1
23
32
測資資訊:
記憶體限制: 512 MB
公開 測資點#0 (100%): 3.0s , <1M
提示 :
以第一組測試資料為例,這9組筷子可能的組成方式為:(8,10,16) (19,22,27) (61,63,75) (71,72,88) (81,81,84) (96,98,103) (128,129,148) (134,134,139) (157,157,160)。其「爛度」為4+9+4+1+0+4+1+0+0 = 23
標籤:
出處:
UVa10271 [管理者: asas (向諸神與地雷醬獻上祈禱) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」