求大神指教为何90分。

P1060 [NOIP2006 普及组] 开心的金明

```cpp #include<cstdio> #include<cstring> int maxx(int x,int y) { return x>y?x:y; } int main() { int n,m,ans=0; int f[50000]; int w[20000],v[20000]; scanf("%d %d",&m,&n); for(int i=1;i<=n;i++) scanf("%d %d",&v[i],&w[i]); memset(f,0,sizeof(f)); f[0]=1; for(int j=1;j<=n;j++) for(int i=m;i>=0;i--) if(f[i]>0&&i+v[j]<=m) { f[i+v[j]]=maxx(f[i+v[j]],f[i]+v[j]*w[j]); ans=maxx(f[i+v[j]],ans); } printf("%d\n",ans-1); } ```
by Mark_ZZY @ 2017-05-15 13:53:12


for j:=n downto 0 do 这一句改成1 to n 试试
by 撩妹凛酱 @ 2017-05-15 18:35:58


|