【問題G24】過橋。 [回前頁]
台大聯誼會舉辦活動,邀請歷屆校友組成海外旅行團。一日,因為交通因素,眾人來到目的地時已經夜深,只有一盞油燈照明,並且要過一條窄橋才能到河對岸的旅館。由於團員老少體能不一,過橋所需的時間不盡相同,走得快的年輕人必須放慢腳步,和同行的長輩一起使用油燈到達彼岸,若是一趟走不完所有的人,則要派一個人把油燈提回來。油燈的燃料有限,若是過橋的先後順序不能妥善安排,可能人還沒走完燈就熄了。請你根據輸入檔的資料,計算出妥善的安排下,最快多少時間所有團員可以安全過橋。
輸入檔說明
輸入檔案中有多組測試資料。每組測試資料的第一行有兩個整數n和m,表示總共有n個人過橋,一次最多只能走m個人,且1 £ n, m £ 16。第二行有n個正整數,分別表示每個人過橋所需的時間,且不大於1000。在檔案的最後,以兩個0表示結束。各組測試均有解,即m等於1時,n也會等於1。
輸出檔說明
每一組測試資料,都輸出一個整數,表示團員全數過橋所需的最少時間。請每行輸出一組測試資料的答案。
範例輸入
1 1
1
3 2
1 2 3
5 2
1 3 6 8 12
0 0
範例輸出
1
6
29
提示
我們可以證明加入以下的條件,並不會增加全數團員過橋的時間︰
1.到達對岸後,僅派一個人把燈提回來。
2.不論往那一個方向,若派出的人數小於m,這些人一定是該岸邊走得最快的。