求大佬看看我怎么错了
#include <iostream>
using namespace std;
int V,n;
int w[50];
int dp[50][20005];
int main(){
cin>>V>>n;
for(int i = 1;i <= n;++i) cin>>w[i];
for(int i = 1;i <= n;++i){
for(int j = 0;j <= V;++j){
dp[i][j] = dp[i - 1][j];
if(j >= w[i]) dp[i][j] = min(dp[i][j],dp[i - 1][j - w[i]] + w[i]);
}
}
cout<<V - dp[n][V]<<endl;
return 0;
}