数组开小了
```cpp
#include<bits/stdc++.h>
using namespace std;
const int MAX=1005;
int T,M,c[MAX],v[MAX],w[MAX];
int main()
{
cin>>T>>M;
for(int i=1;i<=M;i++) cin>>w[i]>>c[i];
for(int i=1;i<=M;i++){
for(int j=T;j>=w[i];j--){
v[j]=max(v[j],v[j-w[i]]+c[i]);
}
}
cout<<v[T];
}
by Null_h @ 2023-08-31 17:44:01
@[my_name_is_my_name](/user/1044914) 题面说明: 1≤T≤1000 ,
所以你 v [ ] 数组开小了\
附微调代码:
```cpp
#include<bits/stdc++.h>
using namespace std;
const int MAX=105;
int T,M,c[MAX],v[2000],w[MAX];
int main()
{
cin>>T>>M;
for(int i=1;i<=M;i++) cin>>w[i]>>c[i];
for(int i=1;i<=M;i++){
for(int j=T;j>=w[i];j--){
v[j]=max(v[j],v[j-w[i]]+c[i]);
}
}
cout<<v[T];
}
```
by wunaidedanjuan @ 2023-08-31 17:44:23
@[wunaidedanjuan](/user/951032)
@[kdqs8218](/user/705712)
谢谢
by yejuncenyyds @ 2023-08-31 17:50:42