Cod sursa(job #1537360)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 27 noiembrie 2015 09:51:48
Problema Energii Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#define INF 0x7fffffff

using namespace std;

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

int n, w, i, j, wmin, s, min1;
int eg[1001], cg[1001];
int a[10001];

int main()
{
    f >> n >> w;
    wmin = w;
    for (i = 1; i <= 10000; i++)
        a[i] = INF;
    for (i = 1; i <= n; i++)
    {
        f >> eg[i] >> cg[i];
        s += eg[i];
    }
    for (i = 1; i <= n; i++)
        for (j = w; j >= eg[i]; j--)
            if (a[j-eg[i]] != INF)
                a[j] = min(a[j], a[j-eg[i]]+cg[i]);

    for (i = w, min1 = INF; i <= 10000; i++)
        if (a[i] < min1)
            min1 = a[i], wmin = i;
    if (min1 != INF)
        g << min1;
    else
        g << -1;
    return 0;
}