Cod sursa(job #1833623)

Utilizator LizaSzabo Liza Liza Data 22 decembrie 2016 20:26:09
Problema Energii Scor 55
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>

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

const int oo=2000000000;
const int GMax = 1005;
const int WMax = 5005;

int DP[1005][5005], E[1005], C[5005], G,W;
void read()
{
    fin>>G>>W;
    for(int i=1; i<=G; ++i)
    {
        fin>>E[i]>>C[i];
    }

    for(int i=1; i<=G; ++i)
        for (int j=1; j<=W; ++j)
            DP[i][j]=oo;

   for (int i=1; i<=E[1]; ++i)
        DP[1][i]=C[1];

}

void Solve()
{
    for(int i=2; i<=G; ++i)
    {
        for(int j=1; j<=W; ++j)
        {
            DP[i][j]=min(DP[i-1][j],DP[i-1][j-E[i]]+C[i]);
        }

    }

}

int main()
{
    read();
    Solve();
    if (DP[G][W]==oo)
    {
        fout<<1<<"\n";
    }
    else
fout<<DP[G][W]<<"\n";

    return 0;
}