Cod sursa(job #1111229)

Utilizator delta_wolfAndrei Stoica delta_wolf Data 18 februarie 2014 18:39:13
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <cstdio>
#include <fstream>
#include <algorithm>

using namespace std;

int d[2][10001];

int main ()
{

    int i,j=0,k,n,G,g[5001],p[5001];
    ifstream f ("rucsac.in");
    freopen ("rucsac.out","w",stdout);
    f>>n>>G;
    for(i=1;i<=n;++i)
        f>>g[i]>>p[i];
    for(i=1;i<=n;++i,j=1-j)
        for(k=0;k<=G;++k){
            d[1-j][k]=d[j][k];
            if(g[i]<=k)
                d[1-j][k]=max(d[1-j][k],d[j][k-g[i]]+p[i]);
            }
    printf("%d",d[j][G]);

    return 0;}