n=int(input())
m=list(map(int,input().split()))
x=list(map(int,input().split()))
m1=[]
for i in range(n):
for j in range(x[i]):
m1.append(m[i])
#print(m1)
weight=0
weight_rec={0} # 集合,自动去重,记录重量,包括0
for i in m1:
for j in list(weight_rec):
weight_rec.add(i+j)
print(len(weight_rec))
每增加一个重量的砝码,前期的重量组合都要更新(新砝码与每个组合重量相加),用集合去重。

京公网安备 11010502036488号