问题描述:
设有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; //平均值 }