Cod sursa(job #1907191)

Utilizator bt.panteaPantea Beniamin bt.pantea Data 6 martie 2017 18:13:11
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <vector>
#define max(a,b) ( a > b ? a : b )
using namespace std;
ifstream f ("rucsac.in");
ofstream g ("rucsac.out");
int n, x, G;
int main()
{
    f>>n>>G;
    vector < int > a(G + 1, -1);
    while (n--)
    {
        int c, p;
        f>>c>>p;
        for (int i = G - c; i >= 0; i--)
        {
            if (a[i] == -1) continue;
            a[i + c] = max(a[i + c], a[i] + p);
        }
        a[c] = max (a[c], p);
    }
    int Max = 0;
    for (int i = 0; i <= G; i++)
        Max = max(a[i], Max);
    g<<Max;
    return 0;
}