Cod sursa(job #914550)

Utilizator deresurobertoFMI - Deresu Roberto deresuroberto Data 14 martie 2013 11:36:59
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<cstdio>
using namespace std;
int n,i,j,gmax,max,g[10005],p[10005],v[10005];
int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    scanf("%d %d",&n,&gmax);
    for(i=1;i<=n;i++)scanf("%d %d",&g[i],&p[i]);
    for(i=1;i<=n;i++){
        for(j=gmax-g[i];j>=0;j--)
            if(v[j+g[i]]<p[i]+v[j]){
                v[j+g[i]]=v[j]+p[i];
                if(v[j+g[i]]>max)max=v[j+g[i]];
            }
    }
    printf("%d",max);
    return 0;
}