Cod sursa(job #1583619)

Utilizator andrei-sasAndrei Sas-Miresan andrei-sas Data 29 ianuarie 2016 09:34:19
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;

int n,w,d[10001],i,e[10001],c[10001],j,x;
ifstream f ("energii.in");
ofstream g ("energii.out");
int main ()
{
    f>>n>>w;
    for (i=1; i<=n; i++)
    {
        f>>e[i]>>c[i];
    }
    for (i=1; i<=10000; i++)
        d[i] = 100000000;
    x = 100000000;
    d[0] = 0;
    for (i=1; i<=n; i++)
    {
        for (j=w-1; j>=0; j--)
            if (d[j] != x)
            {
                if (j+e[i] < w)
                    d[ j+e[i] ] = min (d[ j+e[i] ], d[j] + c[i]);
                else
                    d[w] = min (d[w], d[j] + c[i]);
            }

    }
    if (d[w] != x)
        g<<d[w]<<"\n";
    else
        g<<-1;
    return 0;
}