Cod sursa(job #813410)

Utilizator iuli1505Parasca Iuliana iuli1505 Data 15 noiembrie 2012 14:28:31
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include<cstdio>
#include<algorithm>
#define nmax 10010
using namespace std;
int sol,n,p,G,P[nmax],g,i,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, &p);
        if(g>G)continue;
        for(j=G;j>g;j--)
            if(P[j-g]&&P[j]<P[j-g]+p)
                P[j]=P[j-g]+p;
        if(p>P[g])P[g]=p;
    }
    for(i=1;i<=G;i++)
        sol=max(sol,P[i]);
    printf("%d\n", sol);
    return 0;
}