我测试了一下,其中一个测试点为:10 3 8 4 5;
我输出1,没过;
人家输出1,过了。
这是为什么呢???
上代码:
#include <bits/stdc++.h>
using namespace std;
int v,n;
int a[35]={};
int dp[20005]={};
int main(){
cin>>v>>n;
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
for(int j=v;j>=a[i];j--){
dp[j]=max(dp[j],dp[j-a[i]]+a[i]);
}
}
cout<<v-dp[v]<<endl;
return 0;
}
球球各位dalao解释一下这是为什么?