题目:点击打开链接
最简单的贪心,按服务时间降序排列,这样等待服务的总时间最短,每个人的服务时间也是该人的等待时间的一部分,需要加入。。。
下面是AC代码:
- #include <stdio.h>
- int main()
- {
- int t,a[1000+10],i,j,k,sum;
- scanf("%d",&t);
- for(i=0;i<t;i++)
- scanf("%d",&a[i]);
- for(i=0;i<t-1;i++)
- for(j=0;j<t-1-i;j++)
- if(a[j]>a[j+1])
- {
- int temp=a[j];a[j]=a[j+1];a[j+1]=temp;
- }
- sum=0;
- for(i=0;i<t;i++)
- {
- sum+=a[i]*(t-i);
- }
- printf("%.2lf\n",sum/(t*1.0));
- return 0;
- }