一 :题目
设有n 个顾客同时等待一项服务。顾客i需要的服务时间为 t
i
(1<=i<=n) 。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n 个顾客等待服务时间的总和除以n。
输入格式:
第一行是正整数n(1<n<1000),表示有n 个顾客。接下来的1行中,有n个正整数,表示n个顾客需要的服务时间。
输出格式:
计算出的最小平均等待时间,保留两位小数。
输入样例:
10
56 12 1 99 1000 234 33 55 99 812
结尾无空行
输出样例:
291.90
二:上码
#include<bits/stdc++.h>
using namespace std;int main(){int n;vector<int>v; cin >> n;int a = -1;v.push_back(a);for(int i = 1; i <= n; i++){ int temp;cin >> temp;v.push_back(temp);}sort(v.begin(),v.end());int sum_time = 0;for(int i = 1; i <= n; i++){ sum_time += (n-i) * v[i];// cout << v[i] << ' '; }// cout << sum_time;double ans;ans = (double)sum_time/n;// cout << ans; printf("%.02f",ans);}
这个题思路easy就不写了宝子
加油 宝!!!!!!!!!!!!!!!!!!!!!!!!