Cod sursa(job #1537361)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 27 noiembrie 2015 09:54:14
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 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 >= 0; j--)
            if (a[j] != INF)
                a[j+eg[i]] = min(a[j+eg[i]], a[j]+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;
}