最优服务次序问题(c++)
这是一个典型的贪心算法问题,将服务时间从小到大排好序,然后乘上等待的次数,再除以客户人数,就是最小等待时间了代码实现:#include<bits/stdc++.h>using namespace std;int main(){int a[50];int n;double sum=0;cin>>n;for(int i=0; i<n; i++){cin>>a[
·
这是一个典型的贪心算法问题,将服务时间从小到大排好序,然后乘上等待的次数,再除以客户人数,就是最小等待时间了
代码实现:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[50];
int n;
double sum=0;
cin>>n;
for(int i=0; i<n; i++)
{
cin>>a[i];
}
sort(a,a+n);
for(int i=0; i<n; i++)
{
sum=sum+a[i]*(n-i);
}
sum=sum/n;
cout<<sum;
}
输入
10
56 12 1 99 1000 234 33 55 99 812
代码结果:
更多推荐
所有评论(0)