問題描述
有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1、t2…………tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?
輸入格式
第一行n,r (n<=500,r<=75)
第二行為n個人打水所用的時間ti (ti<=100);
輸出格式
最少的花費時間
樣例輸入
3 21 2 3
樣例輸出
7資料規模和約定 其中80%的資料保證n<=10
考點:貪心
分析:最少花費時間是從一開始算,最少等待時間+自己打水時間
對每個人打水時間從小到大排序(x陣列),等待時間遍歷n個人從小到大排序(d陣列),這樣確定了一定是最少時間。
每次sum+=d[0] (最少的等待時間)+自己打水時間
d+=x[i] 加上這個人接水的時間 從小到大排序,下個人選取d陣列最小的等待時間…以此類推
**
#include#includeusing namespace std;
int d[505],x[505];
int main()
cout<} return 0;
} ```
演算法提高 排隊打水問題
問題描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?輸入格式 第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti 100 輸出格式 最少的花費時間 樣例輸入 3 21 2 3 樣例...
演算法提高 排隊打水問題
問題描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?輸入格式 第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti 100 輸出格式 最少的花費時間 樣例輸入 3 21 2 3 樣例...
藍橋杯 演算法提高VIP 排隊打水問題 貪心
題目描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?資料規模和約定 其中80 的資料保證n 10 如下 include define ll long long using namespace std co...