0
已解决
#include<iostream> #include<cmath> using namespace std; int t,m; int c[10010],w[10010]; int f[10001][10010]; int main() { cin>>m>>t; for(int i=1;i<=m;i++) cin>>c[i]>>w[i]; for(int i=1;i<=m;i++) { for(int j=0;j<=t;j++) if(j>=c[i]) f[i][j]=max(f[i-1][j],f[i-1][j-c[i]]+w[i]); else f[i][j]=f[i-1][j]; } cout<<f[m][t]; return 0; }
哪错了
#include<iostream>
#include<cmath>
using namespace std;
int t,m;
int c[10010],w[10010];
int f[10001][10010];
int main()
{
cin>>m>>t;
for(int i=1;i<=m;i++)
cin>>c[i]>>w[i];
for(int i=1;i<=m;i++)
{
for(int j=0;j<=t;j++)
if(j>=c[i])
f[i][j]=max(f[i-1][j],f[i-1][j-c[i]]+w[i]);
else f[i][j]=f[i-1][j];
}
cout<<f[m][t];
return 0;
}
