Cod sursa(job #964350)

Utilizator Ionut228Ionut Calofir Ionut228 Data 20 iunie 2013 17:48:59
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int N, G;
int W[10001], P[10001];
int best[10001];

int main()
{
    fin >> N >> G;
    for (int i = 1; i <= N; ++i)
        fin >> W[i] >> P[i];

    int l = 0;
    for (int i = 1; i <= N; ++i, l = 1 - l)
        for (int gr = G; gr - W[i] >= 0; --gr)
        {
            if (best[gr] < best[gr - W[i]] + P[i])
                best[gr] = best[gr - W[i]] + P[i];
        }

    fout << best[G];

    fin.close();
    fout.close();
    return 0;
}