SWUSTOJ #72 Optimal Services

版权声明:知识不设限,可自由转载,请附上连接: https://blog.csdn.net/qq_44475551/article/details/89643207

SWUSTOJ #72 Optimal Services

题目

设有n 个顾客同时等待一项服务。顾客i需要的服务时间为t i, 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

源代码

#include <stdio.h>

int main()
{
	int a[10000];
	int i, j, t;
	float averg;
	float s = 0;
	int n;
	scanf("%d", &n);
	for(i=0; i<n; i++)
	{
		scanf("%d", &a[i]);
	}
	for(i=0; i<(n-1); i++)
	{
		for(j=i+1; j<n; j++)
		{
			if(a[i] < a[j])
			{
				t = a[i];
				a[i] = a[j];
				a[j] = t;
			}
		}
	}
	for(i=0; i<n; i++)
	{
		s += a[i] * (i+1);
	}
	averg = s/n;
	printf("%.2f\n", averg);
	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_44475551/article/details/89643207
72