Cod sursa(job #1605798)

Utilizator dorin31Geman Dorin Andrei dorin31 Data 19 februarie 2016 15:19:53
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>

#define gMax 1001
#define wMax 5001
#define oo 1<<30

using namespace std;

ifstream fin("energii.in");
ofstream fout("energii.out");

struct gen { int e,c;}v[gMax];
int d[100][wMax];
int g,w;

void citire()
{
    fin>>g>>w;
    for (int i=1; i<=g; ++i)
        fin>>v[i].e>>v[i].c;
}

void pd()
{
    int line=0;
    for (int i=0; i<=w; ++i)
        d[0][i]=oo;
    for (int i=1; i<=g; ++i, line++)
        for (int j=1; j<=w; ++j)
    {
        d[line+1][j]=d[line][j];
        if (j>=v[i].e)
            d[line+1][j]=min(d[line+1][j],d[line][j-v[i].e]+v[i].c);
    }
    fout<<d[line][w];
}

int main()
{
    citire();
    pd();
    return 0;
}