Cod sursa(job #1673995)

Utilizator Andreiii500Andrei Puiu Andreiii500 Data 4 aprilie 2016 11:57:18
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream in("rucsac.in");
ofstream out("rucsac.out");

const int N = 10001;

int val[N], gr[N]; /// Valoare, greutate
int best[N]; /// best[i] = valoarea maxima pt. obiecte de greutate 'i'
int n,g;

void afis()
{
    int i;
    for(i=1; i<=g; ++i) out<<best[i]<<" "; out<<"\n";
}

int main()
{
    int i,j;

    in>>n>>g;
    for(i=1; i<=n; ++i) in>>gr[i]>>val[i];

    for(i=1; i<=n; ++i)
    {
        for(j=g; j>=gr[i]; --j)
            best[j] = max(best[j], best[j - gr[i]] + val[i]);

        //afis();
    }

    out<<best[g];



    return 0;
}