数组开大一些,大不了多加一个0,如果还有问题多交几次,谷的机子很迷
```cpp
#include<bits/stdc++.h>
using namespace std;
int main(){
int t,m,ti[105],ex[105],dp[105][1005];
scanf("%d%d",&t,&m);
for(int i=1;i<=m;i++) scanf("%d%d",&ti[i],&ex[i]);
for(int i=1;i<=m;i++){
for(int j=t;j>=0;j--){
if(j>=ti[i]) dp[i][j]=max(dp[i-1][j],ex[i]+dp[i-1][j-ti[i]]);
else dp[i][j]=dp[i-1][j];
}
}
printf("%d",dp[m][t]);
return 0;
}
```
by wzw0611 @ 2021-06-06 13:54:34
谢谢过了
by XCH_0803 @ 2021-06-11 20:31:55