2133排隊接水 優先佇列

2022-05-01 13:30:07 字數 669 閱讀 3353

n個人一起排隊接水,第i個人需要a[i]的時間來接水。

1 <= n <= 1000

1 <= a[i] <= 1000

同時只能有乙個人接水,正在接水的人和沒有接水的人都需要等待。

完成接水的人會立刻消失,不會繼續等待。

你可以決定所有人接水的順序,並希望最小化所有人等待時間的總和。

input

第一行乙個整數n

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

output

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

312

3

output示例

10

思路:優先佇列的基礎使用

#include#include

#include

#include

#include

#include

using

namespace

std;

intmain()

int sum = 0

;

while (!que.empty())

cout

<< sum

}

51Nod 2133 排隊接水 貪心

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

1223排隊接水

難度 普及 題目型別 貪心 提交次數 1 涉及知識 貪心,排序 有n個人在乙個水龍頭前排隊接水,假如每個人接水的時間為ti,請程式設計找出這n個人排隊的一種順序,使得n個人的平均等待時間最小。輸入格式 輸入檔案共兩行,第一行為n 第二行分別表示第1個人到第n個人每人的接水時間t1,t2,tn,每個資...

(貪心1)排隊接水

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