Cod sursa(job #891547)

Utilizator adascaluAlexandru Dascalu adascalu Data 25 februarie 2013 17:43:50
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <fstream>
#include<algorithm>
#define MAXN 5001
#define MAXG 10001
using namespace std;
unsigned short int w[MAXN],p[MAXN];
int a[MAXN][MAXG];
int main()
{
    unsigned short int n,g,i,cw;
    ifstream f("rucsac.in");
    ofstream g("rucsac.out");
    f>>n>>g;
    for(i=1;i<=n;i++)
        f>>w[i]>>p[i];
    for(i=1;i<=n;i++)
        for(cw=1;cw<=g;cw++)
            a[i][cw]=max(a[i-1][cw],a[i-1][cw-w[i]]+p[i]);
    g<<a[n][g];
    f.close();
    g.close();
}