洛谷 P1223 排隊接水

2022-06-21 14:24:09 字數 635 閱讀 7801

有 n 個人在乙個水龍頭前排隊接水,假如每個人接水的時間為 \(t_i\),請程式設計找出這 n 個人排隊的一種順序,使得 n 個人的平均等待時間最小。

第一行為乙個整數 n。

第二行 n 個整數,第 i 個整數 \(t_i\) 表示第 i 個人的等待時間 \(t_i\)。

輸出檔案有兩行,第一行為一種平均時間最短的排隊順序;第二行為這種排列方案下的平均等待時間(輸出結果精確到小數點後兩位)。

輸入 #1

10 

56 12 1 99 1000 234 33 55 99 812

輸出 #1
3 2 7 8 1 4 9 6 10 5

291.90

\(n\le1000,t_i\le10^6\),不保證 \(t_i\) 不重複。

當 \(t_i\) 重複時,按照輸入順序即可(sort 是可以的)

#include #include #include using namespace std;

struct node

sort(p,p+n);

for(i=0;iprintf("\n%.2f\n",ans/n);

return 0;

}

洛谷 P1223 排隊接水

這一題是貪心來求解問題,讓小的在前面,大的在後面,就是貪心下的最優解 這裡使用一下priority queue優先佇列在做,這個是stl容器 下面是 include include include include include using namespace std typedef pair in...

洛谷P1223 排隊接水

這裡主要想記一下強制型別轉換可能也需要浪費時間?一開始我是把sum定義為 int型別,下面的double s2 double sum n 有兩組資料死活跑不過,也不知道為啥,希望路過的大佬能給小弟看看。方法1 定義兩個陣列,乙個存資料,乙個存編號。include using namespace st...

洛谷 P1223 排隊接水(貪心)

有n個人在乙個水龍頭前排隊接水,假如每個人接水的時間為ti請程式設計找出這n個人排隊的一種順序,使得n個人的平均等待時間最小。標準的貪心,將接水時間最短的排在最前面即可。include using namespace std define int long long define ios ios s...