51Nod 2133 排隊接水 貪心

2021-09-30 17:45:39 字數 629 閱讀 6343

題目

n個人一起排隊接水,第i個人需要b[i]的時間來接水。1 <= n <= 1000,0 <= b[i] <= 1000。同時只能有乙個人接水,正在接水的人和沒有接水的人都需要等待。完成接水的人會立刻消失,不會繼續等待。你可以決定所有人接水的順序,並希望最小化所有人等待時間的總和。

輸入

第一行乙個整數n,接下來n行,每行乙個整數表示b[i]

輸出

一行乙個整數,表示所有人等待時間的總和的最小值

樣例輸入

312

3

樣例輸出

10
分析

貪心,接水時間短的人先接水。

c++程式

#include#includeusing namespace std;

const int n=1010;

int a[n];

int main()

2133排隊接水 優先佇列

n個人一起排隊接水,第i個人需要a i 的時間來接水。1 n 1000 1 a i 1000 同時只能有乙個人接水,正在接水的人和沒有接水的人都需要等待。完成接水的人會立刻消失,不會繼續等待。你可以決定所有人接水的順序,並希望最小化所有人等待時間的總和。input 第一行乙個整數n 接下來n行,每行...

(貪心1)排隊接水

問題描述 有n個人排隊到r個水龍頭去打水,他們裝滿水桶的時間t1 t2 tn為整數且各不相等,應如何安排他們的打水順序才能使他們總共花費的時間最少?輸入格式 第一行n,r n 500,r 75 第二行為n個人打水所用的時間ti ti 100 輸出格式 最少的花費時間 樣例輸入 3 2 1 2 3 樣...

51Nod 排隊接水 貪心

n n 個人一起排隊接水,第 i role presentation i i個人需要b i b i 的時間來接水。1 n 1000 1 n 1000 0 b i 1000 0 b i 1000 同時只能有乙個人接水,正在接水的人和沒有接水的人都需要等待。完成接水的人會立刻消失,不會繼續等待。你可以決...