Cod sursa(job #920260)

Utilizator Raulr100Florian Raul Raulr100 Data 20 martie 2013 09:51:38
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <stack>
using namespace std;
int w[101],p[101],a[101][101],N,G;

int maxim(int a, int b)
{
    if(a>b)
        return a;
    return b;
}

int main()
{
    ifstream f("rucsac.in");
    f >> N >> G;
    int i,g;
    for(i=1; i<=N; ++i)
        f >> w[i] >> p[i];
    f.close();
    for(i=1; i<=N; ++i)
        for(g=1; g<=G; ++g)
        {
            a[i][g]=a[i-1][g];
            if(w[i]<=g)
                a[i][g]=max(a[i][g],a[i-1][g-w[i]]+p[i]);
        }
    ofstream gin("rucsac.out");
    gin << a[N][G];
    gin.close();
    return 0;
}