关注
def get_input():
n = int(input())
values = [int(i) for i in input().split()]
return n, values
def main():
n, values = get_input()
if n < 1 or n > 100:
return
values.insert(0, 0)
count = 0
for i in range(1, n+1):
if 2*i+1 > n:
break
while values[i] > 0 or values[2*i] > 0 or values[2*i+1] > 0:
if values[2*i+1] > 0:
values[2*i+1] -= 1
if values[i] > 0:
values[i] -= 1
if values[2*i] > 0:
values[2*i] -= 1
count += 1
count += sum(values)
print(count)
main() 36% 这里有一个毛病,就是当你打到第i个时,怎么做出决策。代码里写的是,必须将2*i和2*i+1位置的数打完,再继续往后走。后来,lz又想到可以判断2*i和2*i+1是否超过一半了,如果超过一半,则必须将其打完,如果没有超过一半可以考虑不打完。。当然,现在也没办法验证了。溜了溜了。。。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 26届秋招公司红黑榜 #
8942次浏览 31人参与
# 实习必须要去大厂吗? #
145775次浏览 1535人参与
# 未岚大陆求职进展汇总 #
23551次浏览 108人参与
# 校招泡的最久的公司是哪家? #
3548次浏览 19人参与
# 度小满求职进展汇总 #
9674次浏览 49人参与
# 帮我看看,领导说这话什么意思? #
4219次浏览 23人参与
# 智慧芽求职进展汇总 #
15871次浏览 102人参与
# 职场新人体验 #
94998次浏览 642人参与
# 你觉得mentor喜欢什么样的实习生 #
8886次浏览 259人参与
# 没有家庭托举的我是怎么找工作的 #
11151次浏览 156人参与
# 入职第一天,你准备什么时候下班 #
85185次浏览 467人参与
# 从哪些方向判断这个offer值不值得去? #
5745次浏览 90人参与
# 技术岗笔试题求解 #
95199次浏览 1101人参与
# 求职低谷期你是怎么度过的 #
4528次浏览 81人参与
# 最难的技术面是哪家公司? #
54642次浏览 893人参与
# 面试紧张时你会有什么表现? #
1299次浏览 20人参与
# 独居后,你的生活是更好了还是更差了? #
27905次浏览 263人参与
# 机械人的工作环境真的很差吗 #
24730次浏览 119人参与
# 秋招想进国企该如何准备 #
97472次浏览 487人参与
# 你有哪些缓解焦虑的方法? #
36966次浏览 835人参与
# 跳槽时有那些注意事项 #
105904次浏览 567人参与
# 工作压力大怎么缓解 #
117527次浏览 1108人参与