解题思路:
贪心,把n个人按顺序排序再每隔m人分成一个组。最后面的m人为最后的几个人本身的打水时间不计入总时间。
参考代码:
n,m = map(int,input().split()) l = list(map(int,input().split())) #存储每个人的打水时间 l.sort() #排序 s = 0 #记录总时间 for i in range(0,n-m): l[i+m] += l[i] #每人加上前面人等待时间和其本身的打水时间 s += l[i] print(s)
0.0分
4 人评分
C语言训练-角谷猜想 (C++代码)(3N+1问题)浏览:1750 |
兰顿蚂蚁 (C++代码)浏览:1045 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:464 |
C语言程序设计教程(第三版)课后习题6.2 (C语言代码)浏览:690 |
字符逆序 (C语言代码)浏览:615 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:676 |
简单的a+b (C语言代码)浏览:950 |
程序员的表白 (C语言代码)浏览:598 |
找出最长的字符串来 (C语言代码)浏览:1770 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:673 |