1. 程式人生 > 實用技巧 >P1223 排隊接水

P1223 排隊接水

https://www.luogu.com.cn/problem/P1223

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int n;
 4 struct t{  //定義結構體存放等待時間和排隊編號 
 5     int w, no;
 6 };
 7 t a[1005];  //存放n 個人 的資料 
 8 bool cmp(t x, t y){  //定義排序規則:按等待時間從小到大排序 
 9     return x.w<y.w;
10 }
11 long long  sum;  //存放所有人的等待時間 
12 double ans;//
存放答案 13 int main() 14 { 15 cin>>n; 16 for(int i=1; i<=n; i++) 17 cin>>a[i].w, a[i].no=i; //輸入等待時間,記錄編號 18 sort(a+1,a+1+n,cmp); //按等待時間從小到大排序 19 for(int i=1; i<=n; i++){ 20 cout<<a[i].no<<" "; //輸出排隊接水順序 21 sum+=(n-i)*a[i].w; //
後面每個人的排隊等待時間 22 } 23 cout<<endl; 24 cout<<fixed<<setprecision(2)<<sum*1.0/n; //輸出答案平均等待時間 25 return 0; 26 }