大佬们,求救啊!60分!!!

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

mrpmrp31 @ 2018-09-05 17:44:21

大佬们,求救啊!60分!!!

include<iostream>

include<cstdio>

include<algorithm>

using namespace std; int v[2][70],p[2][70],f[43000]; int main(){ int n,m; scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ int a,b,q; scanf("%d%d%d",&a,&b,&q); if(q){ if(v[1][q]){ v[2][q]=a; p[2][q]=ab; } else{ v[1][q]=a; p[1][q]=ab; } } else { v[0][i]=a; p[0][i]=a*b; } }

for(int i=1;i<=m;++i){
    for(int j=n;j>=0;--j){
        if(v[0][i]==0)
        break;
        if(j>=v[0][i]){
            f[j]=max(f[j],f[j-v[0][i]]+p[0][i]);
        }
        if(j>=v[0][i]+v[1][i]){
            f[j]=max(f[j],f[j-v[0][i]-v[1][i]]+p[0][i]+p[1][i]);
        }
        if(j>=v[0][i]+v[2][i]){
            f[j]=max(f[j],f[j-v[0][i]-v[2][i]]+p[0][i]+p[2][i]);
        }
        if(j>=v[0][i]+v[2][i]+v[1][i]){
            f[j]=max(f[j],f[j-v[0][i]-v[1][i]-v[2][i]]+p[0][i]+p[1][i]+p[2][i]);
        }
    }
}
cout<<f[n];
return 0;

}


|