PX Pay

發布時間: June 28, 2024, 7:59 a.m.   最後更新時間: June 28, 2024, 10:38 a.m.   時間限制: 1000ms   記憶體限制: 128M

柯琳是個購物狂。每次只要有買二送一的折扣,她就像瘋了一樣要買下店裡所有的商品。你已經放棄治療她的病了,但是想減少她的支出。你知道買二送一所送的一定是結帳商品中最便宜的那幾樣。比如說,你的朋友拿了價值為 400, 350, 300, 250, 200, 150, 及 100 的七樣商品到櫃枱去結帳,她就得付 1500 元。她省下了最便宜的兩樣商品的價錢,也就是 250 元。如果她分三次去結帳,她可以省下更多的錢。比如說,她先拿 400, 300 和 250 的去結,第一次就可以省下 250 元。第二次她只拿 150 元的去結,沒有折扣。但是第三次她拿 350, 200, 和 100 的去結,又省了 100 元,總共省下了 350 元。你的工作便是找出柯琳最多可以省多少錢。

第一行是測試筆數 $1\le t\le 20$。每筆測試有兩行輸入。第一行是柯琳買的商品數 $1\le n\le 20000$。下一行則是這些商品的價格 $1\le p_i\le 20000$。

每個測試,輸出一行,印出如果柯琳適當地分次結帳時所能省下的最大金額

複製範例
1
6
400 100 200 350 300 250
400

greedy

竹中軟研39th應用組期末競賽(A~Z瘋狂賽)