P1223 排隊接水
阿新 • • 發佈:2020-07-22
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 }