[QWQ](https://www.luogu.com.cn/problem/solution/P1060)
by _hhT @ 2024-04-25 22:00:17
也许你的数组开小了。。。
by Fractured_Angel @ 2024-04-25 22:07:02
@[lucy2012](/user/1252442) $n<30000,m<25$
by oier04 @ 2024-04-26 14:23:05
@[lucy2012](/user/1252442) 数组这么开就行了:
```cpp
dp[25][30000],w[25],v[25]
```
by oier04 @ 2024-04-26 14:24:11
```
#include<bits/stdc++.h>
using namespace std;
int w[30],v[30],dp[500000];
int n,m;
int main(){
cin>>m>>n;
for(int i=1;i<=n;i++){
cin>>v[i]>>w[i];
w[i]*=v[i];
}
for(int i=1;i<=n;i++){
for(int j=m;j>=v[i];j--){
if(j>=v[i]){
dp[j]=max(dp[j],dp[j-v[i]]+w[i]);
}
}
}
cout<<dp[m];
return 0;
}
```
by messi_fanzzc @ 2024-05-18 15:34:17