Cod sursa(job #1798801)

Utilizator Dupree7FMI Ciobanu Andrei Dupree7 Data 5 noiembrie 2016 14:08:58
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#include <limits.h>

using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

#define inf INT_MAX

int minim(unsigned int a, unsigned int b)
{
    return (a > b) ? b : a;
}

int main()
{
    int G, W, i, c, d, j;

    f >> G >> W;

    int v[W + 1];

    v[0] = 0;
    for(i = 1; i < W + 1; i++)
        v[i] = inf;

    for(i = 0; i < G; i++)
    {
        f >> c >> d;

        if(c > W)
            c = W;

        for(j = W; j > -1; j--)
            v[minim(W, j + c)] = minim(v[minim(W, j + c)], v[j] + d);
    }

    if(v[W] != inf)
        g << v[W];
    else
        g << -1;

    return 0;
}