#include
#include
using namespace std;
int value[3510], weight[3510];
int dp[13010];
int main()
{
int n, M;
cin >> n;
cin >> M;
for (int i = 1; i <= n; i++) {
cin >> weight[i] >> value[i];
}
for (int i = 1; i <= n; i++) {
for (int j = M; j >= weight[i]; j--) {
dp[j] = max(dp[j], dp[j - weight[i]] + value[i]);
}
}
cout << dp[M];
return 0;
}
最上面数组定义在主函数外面结果运行就是正确的,放在主函数里面也能运行但是结果是错的,为什么呢?
理论上讲没有区别,看一下是否是项目没有保存或者重新生成运作一下
数组的声明放在cin >>n;这一句上面和在main函数外面没什么区别。清理工程,保存一下,重新编译运行试试。