Cod sursa(job #949564)

Utilizator j.loves_rockJessica Joanne Patrascu j.loves_rock Data 14 mai 2013 10:44:04
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <cstdio>

using namespace std;
int n,pmax,p[5001],G,mx,i,s[10001],g[5001],j;

int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    scanf("%d%d",&n,&G);
    for (i=1; i<=n; i++)
        scanf("%d%d",&g[i],&p[i]);
    for (i=1; i<=G; i++) s[i]=-1;
    for (i=1; i<=n; i++)
        for (j=G; j>=0; j--)

            if (j+g[i]<=G && s[j]!=-1)
                if (s[j+g[i]]<s[j]+p[i]) s[j+g[i]]=s[j]+p[i];
    mx=s[i];
    for (i=1; i<=G; i++)
        if (s[i]>mx) mx=s[i];
    printf("%d",mx);
    return 0;
}