最优服务次序问题
时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte
总提交 : 141 测试通过 : 50
总提交 : 141 测试通过 : 50
题目描述
设有n 个顾客同时等待一项服务。顾客i需要的服务时间为ti,1 ≤i≤n。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n 个顾客等待服务时间的总和除以n。
对于给定的n个顾客需要的服务时间,编程计算最优服务次序。
输入
第一行是正整数n,表示有n 个顾客。接下来的1行中,有n个正整数,表示n个顾客需要的服务时间。
输出
将编程计算出的最小平均等待时间输出。
样例输入
10
56 12 1 99 1000 234 33 55 99 812
样例输出
532.00
提示
undefined
==还有一题比这复杂,服务不仅仅一个==
先做简单的~
附上代码:
<span style="font-size:12px;">#include<iostream> #include<cstdlib> #include<algorithm> #include<cstdio> using namespace std; typedef long long ll; int n; int main() { scanf("%d",&n); ll sum=0; int *a=new int[n+1]; for(int i=0;i<n;i++) { scanf("%I64d",&a[i]); } sort(a,a+n); for(int i=0;i<n;i++) { sum+=a[i]*(n-i); } printf("%.2lf ",(1.0*sum/n)); }</span>
版权声明:本文为博主原创文章,未经博主允许不得转载。