美团3-16笔试题

第三道题
思路也写出来了,代码也敲了,就是运行报错,笔试的时候估计是读取输入的时候,列表分割的有问题报的错,有点可惜,改正后的代码如下:

# 第一行数组个数,翻倍次数
# 第二行数组元素
# 第q行,指定位置上的元素不翻倍,其余的元素翻倍

# 元素求和,结果取模10^9+7的值
import sys
if __name__ == "__main__":
line_1 = sys.stdin.readline().strip()
values_1 = list(map(int, line_1.split()))
num = values_1[0]
fan = values_1[1]
line_2 = sys.stdin.readline().strip()
values_2 = list(map(int, line_2.split()))
sum = 0
for i in range(fan):
#下标为x的元素不用翻倍
x = int(sys.stdin.readline().strip()) - 1
for v in range(len(values_2)):
if x == v:
continue
values_2[v] *=2
print(values_2)
for v in values_2:
sum += v
print(sum)
sum_latest = sum % (10**9+7)
print(sum_latest)
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务