#233
by Niscet @ 2017-07-20 08:59:10
23333数组小了 @ 汪添翼
by ustze @ 2017-07-20 09:18:33
@[汪添翼](/space/show?uid=24617)
最后输出f[n][m]
并不是在数组里取最大值
by 封癫 @ 2017-07-20 09:21:58
压一维,二维可能会爆。
by psk2016 @ 2017-07-20 09:43:35
@[封癫](/space/show?uid=25815) 改过之后还是30分……我都要崩溃了
```cpp
#include <iostream>
using namespace std;
int m,n,w[1000],c[1000],f[1000][1000];
int main()
{
cin >> m >> n;
for (int i=1;i<=n;++i)
cin >> w[i] >> c[i];
for (int i=1;i<=n;++i)
for (int v=m;v>0;--v)
{
if (w[i] <= v)
f[i][v] = max(f[i-1][v],f[i-1][v-w[i]]+c[i]);
else f[i][v] = f[i-1][v];
}
cout << f[n][m];
return 0;
}
```
by Niscet @ 2017-07-20 09:44:10
@[psk2016](/space/show?uid=34720) 1 <= T <= 1000和1 <= M <= 100,数据范围比较小,应该可以用二维吧……还是我的rp不好
by Niscet @ 2017-07-20 09:46:19
数组要开1001
2333333
by ustze @ 2017-07-20 09:49:24
转一维吧
by 封癫 @ 2017-07-20 09:51:19
hehe你数组开小了
by 封癫 @ 2017-07-20 09:52:50
我改大了一点交了一次 一点事没有
by 封癫 @ 2017-07-20 09:53:16