Cod sursa(job #1545866)

Utilizator NicolaalexandraNicola Alexandra Mihaela Nicolaalexandra Data 7 decembrie 2015 11:38:27
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>

using namespace std;

int n,w,d[10001],i,e[10001],c[10001],j,x;

ifstream fin ("energii.in");

ofstream fout ("energii.out");

int main (){

    fin>>n>>w;
    for (i=1;i<=n;i++){
        fin>>e[i]>>c[i];

    }
    for (i=1;i<=1001;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) {
                // voi obtine j+e[i]
                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]);
            }

    }
    fout<<d[w]<<"\n";

    return 0;
}