关注
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是否超过一半了,如果超过一半,则必须将其打完,如果没有超过一半可以考虑不打完。。当然,现在也没办法验证了。溜了溜了。。。
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
转发
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
转发
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛友的五一计划 #
24363次浏览 443人参与
# 市场营销面经 #
1617次浏览 78人参与
# 牛客帮帮团来啦!有问必答 #
412193次浏览 7946人参与
# 互联网公司评价 #
63429次浏览 900人参与
# 晒一晒我的offer #
2851098次浏览 50123人参与
# 市场营销人求职交流聚集地 #
25408次浏览 577人参与
# 如何看待offer收割机的行为 #
196689次浏览 3017人参与
# 许愿池 #
66880次浏览 1484人参与
# 我的上岸简历长这样 #
142480次浏览 2862人参与
# 非技术岗薪资爆料 #
10205次浏览 204人参与
# 产品实习,你更倾向大公司or小公司 #
31504次浏览 494人参与
# 提前批真的不会影响正式批吗 #
18110次浏览 229人参与
# 在国企工作的人,躺平了吗? #
74011次浏览 901人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
24366次浏览 241人参与
# 简历中的项目经历要怎么写 #
383231次浏览 6425人参与
# 浅聊一下我实习的辛苦费 #
71407次浏览 647人参与
# 机械制造薪资爆料 #
262339次浏览 3203人参与
# 国企和大厂硬件兄弟怎么选? #
28459次浏览 544人参与
# 双非本科求职如何逆袭 #
174348次浏览 2621人参与
# 第一次面试 #
19354次浏览 302人参与