Cod sursa(job #822898)

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

using namespace std;

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

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