【寒假任务】 洛谷1223 排队接水
来源:互联网 发布:java嵌入html5 编辑:程序博客网 时间:2024/06/05 20:39
问题描述
有n个人在一个水龙头前排队接水,编号为1-n,给出每个人的接水时间,求一种排队方式让平均等待时间最少,输出排队方式(每个人的编号)及平均等待时间。
样例输入
10
56 12 1 99 1000 234 33 55 99 812
样例输出
3 2 7 8 1 4 9 6 10 5
291.90
算法讨论
贪心,让每个人的等待时间都最少即可。时间复杂度O(n log n)。
const maxn=1000;var a:array[1..maxn,1..2] of longint; i,j,n:longint; s,ans:real;procedure qsort(l,r:longint);var i,j,m,t:longint;begin i:=l; j:=r; m:=a[(l+r) div 2,1]; repeat while a[i,1]<m do inc(i); while a[j,1]>m do dec(j); if i<=j then begin t:=a[i,1]; a[i,1]:=a[j,1]; a[j,1]:=t; t:=a[i,2]; a[i,2]:=a[j,2]; a[j,2]:=t; inc(i); dec(j) end; until i>j; if l<j then qsort(l,j); if i<r then qsort(i,r)end;begin read(n); for i:=1 to n do begin read(a[i,1]); a[i,2]:=i end; qsort(1,n); for i:=1 to n-1 do begin write(a[i,2],' '); s:=s+a[i,1]; ans:=ans+s end; write(a[n,2]); ans:=ans/n; writeln; write(ans:0:2)end.
Pixiv ID:56201975
0 0
- 【寒假任务】 洛谷1223 排队接水
- 洛谷1223排队接水
- 排队接水-洛谷 1223
- 【寒假任务】洛谷1540 机器翻译
- 【寒假任务】洛谷1125 笨小猴
- 【寒假任务】 洛谷1093 奖学金
- 寒假任务
- 洛谷P1223排队接水
- 洛谷 P1223 排队接水
- 洛谷P1223 排队接水
- 洛谷 P1223 排队接水
- 洛谷 P1223 排队接水
- 排队接水 洛谷p1223
- 洛谷P1223 排队接水
- 洛谷P1223 排队接水
- 【寒假任务】洛谷1003 铺地毯
- 【寒假任务】洛谷1067 多项式输出
- 【寒假任务】 洛谷1177 快速排序
- LeetCode之342,Power of Four
- java学习
- java基础学习总结——数组
- 微信小程序:开发之前要知道的三件事
- JAVA 线程池的使用
- 【寒假任务】 洛谷1223 排队接水
- 解决springMVC4下使用@ResponseBody的中文乱码问题
- zTree的模糊搜索
- GNU工具链安装
- 红黑树的旋转、查找和删除(附源代码)
- apue:UNIX基础知识
- JS/JQ获取节点的同级,父级,子级元素
- Eclipse搭建SSH(Struts2+Spring3+Hibernate3)框架项目教程
- 03-android之Controller