徐州哪家做网站好,上海包装设计,满城区建设局网站,什么叫响应式网站不可以使用map函数#xff0c;可能出现1对2的情况#xff01;
题目描述
有 n 个人在一个水龙头前排队接水#xff0c;假如每个人接水的时间为 Ti#xff0c;请编程找出这 n 个人排队的一种顺序#xff0c;使得 n 个人的平均等待时间最小。
输入格式
第一行为一个整数…不可以使用map函数可能出现1对2的情况
题目描述
有 n 个人在一个水龙头前排队接水假如每个人接水的时间为 Ti请编程找出这 n 个人排队的一种顺序使得 n 个人的平均等待时间最小。
输入格式
第一行为一个整数 n。
第二行 n 个整数第 i 个整数 Ti 表示第 i 个人的接水时间 Ti。
输出格式
输出文件有两行第一行为一种平均时间最短的排队顺序第二行为这种排列方案下的平均等待时间输出结果精确到小数点后两位。
输入输出样例
输入 #1复制
10
56 12 1 99 1000 234 33 55 99 812
输出 #1复制
3 2 7 8 1 4 9 6 10 5
291.90
代码使用结构体重写cmp排序。
#include bits/stdc.h #define MX 5005 using namespace std; int t[MX]; struct people{ int t; int num; }p[MX]; bool cmp(people a,people b) { return a.t b.t; } int main() { int n; cinn; for(int i 1;i n;i){ cinp[i].t; p[i].num i; } sort(p1,pn1,cmp); double sum 0,tmp 0; p[0].t 0;p[0].num 0; for(int i 1;i n;i){ coutp[i].num ; tmp p[i-1].t; sum tmp; } coutendl; double r sum * 1.0 / n; printf(%.2lf,r); return 0; }