题解 | #称砝码#

while True:
    try:
        n = int(input())
        m = input().split()
        x = input().split()
        mx = [] # 存储所有砝码的砝码,如案例输入的mx = [1,1,2]
        l = {0} # 存储砝码可以表示的值,初始化为{0}
        # 生成mx
        for i in range(n):
            mx.extend([int(m[i])] * int(x[i]))
        # 生成l,每次给砝码生成的值都加一个新的砝码
        for i in mx:
            l = l.union({i + j for j in l})
        print(len(l))
    except:
        break
全部评论

相关推荐

耀孝女:就是你排序挂了
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-27 10:48
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务