#include<cstdio>
int V;
int n;
int dp[100][30000];//dp[m][v]:考虑1~m号物品,总容积为v的情况下容积的最大值
int a[100];
int max(int a,int b)
{
if(a>b) return a;
return b;
}
int main()
{
scanf("%d%d",&V,&n);
for(int i=1;i<=n;i++) scanf("%d",&a[n]);
for(int v=0;v<=V;v++)
if(v>=a[1]) dp[1][v]=a[1];
for(int m=2;m<=n;m++)
for(int v=0;v<=V;v++)
{
if(v<a[m]) dp[m][v]=dp[m-1][v];
else dp[m][v]=max(dp[m-1][v-a[m]]+a[m],dp[m-1][v]);
}
printf("%d",V-dp[n][V]);
return 0;
}
样例没过,全WA,不知道哪里写挂了,求助qwq