Cod sursa(job #1681686)

Utilizator Cez2804Popa Cezar Andrei Cez2804 Data 9 aprilie 2016 17:26:37
Problema Problema rucsacului Scor 100
Compilator c Status done
Runda Arhiva educationala Marime 0.44 kb
#include <stdio.h>
#include <stdlib.h>
int main()
{
    freopen("rucsac.in", "r", stdin);
    freopen("rucsac.out", "w", stdout);
    int n, *dp, g, w, p, i, j;
    scanf("%d%d", &n, &g);
    dp = calloc((g+1), sizeof(int));
    for(i=1; i<=n; i++)
    {
        scanf("%d%d", &w, &p);
        for(j=g; j>=w; j--)
            if(dp[j-w]+p>dp[j])
                dp[j] = dp[j-w] + p;
    }
    printf("%d", dp[g]);
    return 0;
}