SSL JudgeOnline 2322——运输
来源:互联网 发布:反arp攻击软件 编辑:程序博客网 时间:2024/05/29 15:07
Description
现在已知N件商品,和搬运它们其中每一件的费用。现在搬家公司老板Mr.sb决定让我们每次任意选取2件商品。然后这2件商品只算一件商品的费用。但是这个商品的搬运费用是将选出的2个商品的费用之和除以k的运算结果。如此反复。直到只收一件商品的钱。这个就是商店要付的费用。掌柜的想尽可能的少付钱,以便将更多的钱捐给希望工程。所以请你帮他计算一下最少只用付多少钱。
Input
n,kw1,w2…..wn(每一件物品搬运费)
Output
一个数 最少付多少钱
Sample Input
5 2
1 2 3 4 5
Sample Output
1
Hint
n和k<=10000
这是一题贪心
每次将最大的两个数取出来,将他们的和除以K,就是这两件商品的费用之和。然后将这个数插入到数组里,使数组有序(从大到小)。再重复以上循环,直到只剩一个数,就是答案。
代码如下:
var n,m,i,j:longint; a:array[0..10000]of int64;procedure qsort(l,r:longint);var i,j,mid:longint;begin if i>=j then exit; i:=l; j:=r; mid:=a[(j+i) div 2]; repeat while a[i]<mid do inc(i); while a[j]>mid do dec(j); if i<=j then begin a[0]:=a[i]; a[i]:=a[j]; a[j]:=a[0]; inc(i); dec(j); end; until i>j; qsort(l,j); qsort(i,r);end;begin read(n,m); for i:=1 to n do read(a[i]); qsort(1,n); for i:=n-1 downto 1 do begin a[i]:=(a[i]+a[i+1])div m; for j:=i-1 downto 1 do if a[j]>a[i] then begin a[0]:=a[i]; a[i]:=a[j]; a[j]:=a[0]; end; end; write(a[1]);end.
0 0
- SSL JudgeOnline 2322——运输
- SSL JudgeOnline 1069——比赛安排
- SSL JudgeOnline 1030——麦森数
- SSL JudgeOnline 1868——谁是组长
- SSL JudgeOnline 1082——导弹拦截
- SSL JudgeOnline 2253——新型计算器
- SSL JudgeOnline 1456——骑士旅行
- SSL JudgeOnline 1194——最佳乘车
- SSL JudgeOnline 1786——麻将游戏
- SSL JudgeOnline 2244——国王的魔镜
- SSL JudgeOnline 1210——最佳浏览路线
- SSL JudgeOnline 1015——一元三次方程求解
- SSL JudgeOnline 1296——x^n次幂
- SSL JudgeOnline 1089——USACO 1.2 方块转换
- SSL JudgeOnline 1668——小车载人问题
- SSL JudgeOnline 1099——USACO 1.4 母亲的牛奶
- SSL JudgeOnline 1198——求逆序对数
- SSL JudgeOnline 1455——电子老鼠闯迷宫
- java常用的几种线程池比较
- DAO模式
- 13.服务器端脚本
- 在C语言中使用全局变量
- ExtJs实现阻止冒泡,以及再次允许冒泡——stopPropagation的正确使用
- SSL JudgeOnline 2322——运输
- WebRTC中丢包重传NACK实现分析
- WindowsUpdate检查更新报错,错误码8024402F
- Foundation框架学习之NSArray和NSMutableArray
- Spring依赖注入,在main方法或junit测试类里获取得Spring容器
- Vue组件学习
- DirectX修复windows下.exe文件启动失败。
- Android实训案例(三)——实现时间轴效果的ListView,加入本地存储,实现恋爱日记的效果!
- runspec 的选项说明(spec2006官方文档的翻译)