Cod sursa(job #822899)

Utilizator UMihneaUngureanu Mihnea UMihnea Data 24 noiembrie 2012 10:42:19
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <cstdio>
#include <algorithm>

using namespace std;

int i,n,P[10010],j,k,p,g,G;

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