访问越界
- Process exited with return value 3221225477
#include<bits/stdc++.h>
using namespace std;
int a[7],ans=0,l=1,dp[1005];
int q[7]={0,1,2,3,5,10,20};
int x[2005],m=0;
int p;
int main()
{
for(int i=1;i<=6;++i){
cin>>a[i];
while(a[i]){
x[l]=q[i];
a[i]-=1;
l+=1;
}
m=l;
}
for(int i=1;i<=m;++i){
for(int j=1001;j>=1;++j){
dp[j]=max(dp[j],dp[j-x[i]]+x[i]);
}
}
for(int i=1;i<=1001;++i){
if(dp[i]==0){
p=i;
break;
}
}
cout<<"Total="<<dp[p];
return 0;
}