最优服务次序问题 水 NOJ1254

最优服务次序问题

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 141            测试通过 : 50 

题目描述

设有个顾客同时等待一项服务。顾客i需要的服务时间为ti1 in。应如何安排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>

版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址:https://www.cnblogs.com/Tobyuyu/p/4965529.html