Cod sursa(job #1086133)

Utilizator StickmanLazar Alexandru Stickman Data 17 ianuarie 2014 19:22:39
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <iostream>

using namespace std;

unsigned int n,g,w[5001],p[5001],cost[5001][10001];

int main()
{
    ifstream in("rucsac.in");
    ofstream out("rucsac.out");
    unsigned int i,j;
    in>>n>>g;
    i=0;
    for(i=1; i<=n; i++)
    {
        in>>w[i]>>p[i];
    }
    for(i=1; i<=n; i++)
        for(j=g; j>-1; j--)
            if(cost[i-1][j]<cost[i-1][j-w[i]]+p[i] && j-w[i]>-1)
                cost[i][j]=cost[i-1][j-w[i]]+p[i];
            else cost[i][j]=cost[i-1][j];
    out<<cost[n][g];
    in.close();
    out.close();
    return 0;
}