P1064 金明的预算方案 50分求解

P1064 [NOIP2006 提高组] 金明的预算方案

郑yz @ 2018-07-14 12:50:07

#include <bits/stdc++.h>
using namespace std;
long long i,j,n,m,v[100],p[100],q[100],num[100],ans[50000];

int main(){
    cin>>n>>m;
    for(i=1;i<=m;i++){
        cin>>v[i]>>p[i]>>q[i];
        num[i]=v[i]*p[i];
    }
    for(i=1;i<=m;i++)
       if(q[i]!=0){
         v[q[i]]+=v[i];
         num[q[i]]+=num[i];
       }
    for(i=1;i<=m;i++)
       if(q[i]==0){
        for(j=n;j>=v[i];j--)
           ans[j]=max(ans[j],ans[j-v[i]]+num[i]);
       }
    cout<<ans[n]<<endl;
    return 0;
}

by 郑yz @ 2018-07-14 12:51:42

各位大佬帮帮忙,本蒟蒻 实在找不到错误


by 郑yz @ 2018-07-14 12:59:06

emmmmm....

突然发现了一个问题


by hyd0708 @ 2018-08-12 11:25:08

什么问题!!!


|