目录
题目
代码
n,x=map(int,input().split())
a=[0]
for i in range(n):
a.append(int(input()))
#print(a)
a.sort()
#print(a)
pre=sum(a)
#print(pre)
#01背包
dp=[[0]*(pre+1) for _ in range(n+1)]
for i in range(1,n+1):
for j in range(1,pre+1):
if j<a[i]:
dp[i][j]=dp[i-1][j]
else:
dp[i][j]=max(dp[i-1][j],dp[i-1][j-a[i]]+a[i])
#print(dp[i])
for i in range(1,pre+1):
if dp[n][i]>=x:
print(dp[n][i])
break