@[WA_QAQ](/user/704634) 把数组放在主函数里是坏习惯,建议使用全局变量存储。
简单来说就是把数组丢到 main 外面。
```cpp
#include<bits/stdc++.h>
using namespace std;
int ti[105],val[105],dp[1005];
int main()
{
int t,m;
cin>>t>>m;
for(int i=1;i<=m;i++)
cin>>ti[i]>>val[i];
for(int i=1;i<=m;i++)
for(int j=t;j>=0;j--)
{
if(j>=ti[i])
dp[j]=max(dp[j-ti[i]]+val[i],dp[j]);
}
cout<<dp[t];
return 0;
}
```
by liangbowen @ 2022-10-10 17:50:28
在 main 外面定义数组,数组默认为 0。而在 main 里面定义数组,没有默认值(也就是会随便给你一个值)。
by liangbowen @ 2022-10-10 17:51:46