Cod sursa(job #1130191)

Utilizator lucianRRuscanu Lucian lucianR Data 28 februarie 2014 11:47:35
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
#include <iostream>
#include <fstream>
#define N_MAX 5010
#define G_MAX 10010

using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");

long long int P[G_MAX], w[N_MAX], p[N_MAX], N, G;

int main()
{
    in >> N >> G;
    for(int i = 1; i <= N; i++)
        in >> w[i] >> p[i];
    for(int i = 1; i <= N; i++)
        for(int j = G - w[i]; j >= 0; j--)
            if(P[j] + p[i] > P[j + w[i]]) P[j + w[i]] = P[j] + p[i];
    out << P[G];
    return 0;
}