关注
我是这样想的,条件要求至少两人乘船,最多三人乘船。我于是把它分为2种情况(m为当前测试数的长度): 1、当m=2 or m = 3时 : 可以一次性过河,因此最少时间为其测试数的最大值 2、m >= 4 时: 先将最小的两个数拿出来,然后剩余 res = m - 2人,接着最小的两个人就依次将剩下的res个人送至河对岸。因为每次送一次这两个人都要回来,回来的时间应该取这两人的最大值。不过要注意的是:当送完最后一人,就不需要回来了。 所以最短时间应该为: 剩下人数(即res个)数值相加的总值 + res * t ( t为最小两个数的最大数) ###3不懂对不对,反正我没有写完 :| ),不过测试几组还行,请大佬们纠正
n = int(input())
content = []
for i in range(0,n):
m = int(input())
a = input().split( )
for j in range(0,m):
a[j] = int(a[j])
a.sort() #排序
if m == 2:
content.append(a[1])
elif m == 3:
content.append(a[2])
else:
res = m-2
two = res -1
t = two*a[1]
ss = sum(a[2:])
t = t+ss
content.append(t)
for k in content:
print(k)
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 聊聊这家公司值得去吗 #
229122次浏览 2157人参与
# 职场上哪些事情令人讨厌 #
16473次浏览 81人参与
# 你认为哪个岗位找工作最卷 #
8556次浏览 31人参与
# 职场人,说说你的烦心事 #
8210次浏览 65人参与
# 一人一个landing小技巧 #
77932次浏览 1112人参与
# 秋招最大的收获是什么? #
33758次浏览 296人参与
# kpi面有什么特征 #
29474次浏览 167人参与
# 小红书求职进展汇总 #
55982次浏览 483人参与
# 为了找工作你投递了多少公司? #
7848次浏览 102人参与
# 职场破防瞬间 #
234703次浏览 2125人参与
# 大家每天通勤多久? #
41822次浏览 329人参与
# tplink提前批进度交流 #
162495次浏览 1375人参与
# 职场吐槽大会 #
204599次浏览 1628人参与
# 许愿池 #
282982次浏览 2868人参与
# 机械制造岗投递时间线 #
22636次浏览 345人参与
# 找工作前vs找工作后的心路变化 #
9519次浏览 101人参与
# 通信硬件牛牛的实习日记 #
7043次浏览 65人参与
# 聊聊你的职场新体验 #
157185次浏览 1367人参与
# 经纬恒润求职进展汇总 #
118827次浏览 1027人参与
# 硬件人你反向读研了吗 #
41697次浏览 629人参与