dalao查错,未过样例

P1616 疯狂的采药

```c #include<iostream> #include<cmath> #include<cstring> using namespace std; int T,M,t[10001],val[10001],dp[100001],ans=0; int main() { memset(dp,0,sizeof(dp)); cin>>T>>M; for (int i=1;i<=M;++i) scanf("%d%d",&t[i],&val[i]); for (int i=1;i<=M;++i) for (int j=t[i];j<=T;++j) { dp[j]=max(dp[j],dp[T-t[i]]+val[i]); ans=max(ans,dp[j]); } cout<<ans; return 0; } ```
by clanned_z @ 2018-02-09 18:05:34


写成这样真的很难看啊[汗]
by sleepyNick @ 2018-02-09 18:05:36


我刚刚评论,你就贴代码了
by sleepyNick @ 2018-02-09 18:06:07


@[394078448kk](/space/show?uid=51419) ```cpp ans=max(ans,dp[j]); ``` 这一步有用吗?`dp[i]`是指在`i`时间内所采得的药的最大价值,所以按照题意输出`dp[T]`不就行了?
by Loner_Knowledge @ 2018-02-09 18:08:56


是dp[j]=max(dp[j],dp[j-w[i]]+v[i]);
by sleepyNick @ 2018-02-09 18:10:13


@[mega_aspirin](/space/show?uid=22658) +1
by qwqKanade @ 2018-02-09 18:10:35


@[394078448kk](/space/show?uid=51419)
by sleepyNick @ 2018-02-09 18:10:39


哦,更改ing
by clanned_z @ 2018-02-09 18:11:18


已A,还有小个错是``` scanf ```是需要调用cstdio函数库的,不过A了就行,谢谢各位大佬!
by clanned_z @ 2018-02-09 18:16:59


|