题解 | #[NOIP2005]采药#
[NOIP2005]采药
https://ac.nowcoder.com/acm/problem/16650
这次又死在了数组数据开的范围上,下次应该注意
#include<bits/stdc++.h>
using namespace std;
const int N=1000;
int t[101];
int w[101];
int dp[101][1001];
int main()
{
int T,M;
cin>>T>>M;
for(int i=1;i<=M;i++)
{
cin>>t[i];
cin>>w[i];
}
for(int i=1;i<=M;i++)
{
for(int j=1;j<=T;j++)
{
if(j<t[i])
{
dp[i][j]=dp[i-1][j];
}
else
{
dp[i][j]=max(dp[i-1][j],dp[i-1][j-t[i]]+w[i]);
}
}
}
cout<<dp[M][T];
}