Cod sursa(job #1802648)

Utilizator blackmanta45Andrei blackmanta45 Data 10 noiembrie 2016 15:50:58
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
#define INF 10000000
using namespace std;

int D[5010];
int v[1010], c[1010];
int n,w,i,j;
int main () {
    ifstream fin ("energii.in");
    ofstream fout("energii.out");

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

    for (i=1;i<=w;i++)
        D[i] = INF;
    D[0] = 0;
    for (i=1;i<=n;i++)
        for (j=w;j>=0;j--)
            if (D[j] != INF) {
                if (j+v[i] <= w)
                    D[j+v[i]] = min(D[j+v[i]], D[j] + c[i]);
                else
                    D[w] = min(D[w], D[j]+c[i]);
            }
    if (D[w] == INF)
        fout<<-1;
    else
        fout<<D[w];
    return 0;
}