Cod sursa(job #891638)

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