AC 可以看一下,其实就是背包问题换一下就好了 #!/bin/python # -*- coding: utf8 -*- import sys import os import re #请完成下面这个函数,实现题目要求的功能 #当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^ #******************************开始写代码****************************** def miHomeGiftBag(p, m): dp = [0 for _ in range(m+1)] for i in range(len(p)): for j in range(m,0,-1): if j >= p[i]: dp[j] = max(dp[j],dp[j-p[i]] + p[i]) return dp[-1]==m #******************************结束写代码****************************** N = int(input()) tmp = list(map(int,input().split())) M = int(input()) res=miHomeGiftBag(sorted(tmp), M) print(str(int(res)) + "\n")