Cod sursa(job #1150690)

Utilizator serbanSlincu Serban serban Data 23 martie 2014 14:16:53
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <cstdio>

using namespace std;

int n,G,w,pp,x[3][10000];

int main()
{
    int i,jj;
    FILE *f=fopen("rucsac.in","r");
    FILE *g=fopen("rucsac.out","w");
    fscanf(f,"%d%d",&n,&G);
    for(i=1;i<=n;i++)
    {
        fscanf(f,"%d%d",&w,&pp);
        x[2][w]=pp;
        for(jj=1;jj<=G;jj++)
        {
            x[2][jj]=max(x[1][jj],x[2][jj-1]);
            if(jj-w>=0)
                x[2][jj]=max(x[2][jj],x[1][jj-w]+pp);
        }
        for(jj=1;jj<=G;jj++)
            x[1][jj]=x[2][jj];
    }
    fprintf(g,"%d\n",x[2][G]);
    return 0;
}