不一定要把时间用完吧,应该是 f[m][i] ($i\in[1,t]$) 里边取个最大值
by Filberte @ 2023-09-30 09:47:30
```cpp
#include<bits/stdc++.h>
using namespace std;
long long t,m;
long long a[1000],b[1000],f[1000][1000];
int main()
{
cin>>t>>m;
for(int i=1;i<=m;i++)
{
cin>>a[i]>>b[i];
for(int j=t;j>=0;j--)
{
f[i][j]=f[i-1][j];
if(j>=a[i])
f[i][j]=max(f[i][j],f[i-1][j-a[i]]+b[i]) ;
}
}
cout<<f[m][t];
return 0;
}
```
by lichaozhe2022 @ 2023-09-30 09:51:27
@[Filberte](/user/324412)
@[lichaozhe2022](/user/895306)
感谢
by SLDYCJZXwrc001 @ 2023-09-30 09:53:25
@[Filberte](/user/324412) 01背包是单调的
by light_searcher @ 2023-10-05 11:40:22