114514

wangruichen 2023-07-28 19:05:12 5 返回题目

#include<ios>
int v,n,w[20001],dp[20001];
main(){
	scanf("%d%d",&v,&n);
	for(int i=1;i<=n;++i)scanf("%d",w+i);
	for(int i=1;i<=n;++i)
		for(int j=v;j>=0;--j)
			if(j>=w[i])dp[j]=std::max(dp[j],dp[j-w[i]]+w[i]);
	printf("%d",v-dp[v]);
}
{{ vote && vote.total.up }}