1523 問(wèn)題 X: 藍(lán)橋杯算法提高VIP-打水問(wèn)題
時(shí)間限制: 1s
內(nèi)存限制: 128MB 提交: 2819 解決: 1307
題目描述
N個(gè)人要打水,有M個(gè)水龍頭,第i個(gè)人打水所需時(shí)間為Ti,請(qǐng)安排一個(gè)合理的方案使得所有人的等待時(shí)間之和盡量小。
提示
一種最佳打水方案是,將N個(gè)人按照Ti從小到大的順序依次分配到M個(gè)龍頭打水。
例如樣例中,Ti從小到大排序?yàn)?,2,3,4,5,6,7,將他們依次分配到3個(gè)龍頭,則去龍頭一打水的為1,4,7;去龍頭二打水的為2,5;去第三個(gè)龍頭打水的為3,6。
第一個(gè)龍頭打水的人總等待時(shí)間 = 0 + 1 + (1 + 4) = 6
第二個(gè)龍頭打水的人總等待時(shí)間 = 0 + 2 = 2
第三個(gè)龍頭打水的人總等待時(shí)間 = 0 + 3 = 3
所以總的等待時(shí)間 = 6 + 2 + 3 = 11
輸入
第一行兩個(gè)正整數(shù)N M 接下來(lái)一行N個(gè)正整數(shù)Ti。
N,M< =1000,Ti< =1000
輸出
最小的等待時(shí)間之和。(不需要輸出具體的安排方案)
提示
零基礎(chǔ)同學(xué)可以先學(xué)習(xí)
視頻課程,包含C/C++、Python、百練、藍(lán)橋杯輔導(dǎo)、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習(xí)題,還有老師答疑,
點(diǎn)擊這里了解課程詳情