问题描述:

     设有n 个顾客同时等待一项服务。顾客i需要的服务时间为ti, 1<=i <= n 。应如何安排n个顾客的服务次序才能使平均等待时间达到最小?平均等待时间是n 个顾客等待服务时间的总和除以n。

简单的贪心思想

 代码:

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
   int n;
   cin>>n;
   int s[n];
   for(int i=0;i<n;i++)
   {
       cin>>s[i];
   }                //输入
   sort(s,s+n);        //排序,升序
   double sum=0;
   for(int i=0;i<n;i++)
   {
       sum+=s[i]*(n-i);    //等待时间总和
   }
   cout<<sum/n<<endl;    //平均值
}

 

相关文章:

  • 2021-06-06
  • 2022-01-09
  • 2022-12-23
  • 2022-12-23
  • 2021-08-26
  • 2021-06-22
  • 2021-10-29
猜你喜欢
  • 2021-10-29
  • 2021-10-15
  • 2021-11-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案