Cod sursa(job #1253092)

Utilizator Laura.miLaura Mitrache Laura.mi Data 31 octombrie 2014 19:59:10
Problema Energii Scor 20
Compilator cpp Status done
Runda preoji_cl11_12_lspvs Marime 0.84 kb
#include <algorithm>

#include <fstream>

using namespace std;

int G,W;
int e[10001],c[10001];
int ene;
int a[1100][5100];
int minim=1000000000;

ofstream g("energii.out");

void Citire()
{
    int i;
    ifstream f("energii.in");
    f>>G>>W;
    for(i=1;i<=G;i++)
    {
        f>>e[i]>>c[i];
        ene+=e[i];
    }

}

void Solve()
{

    int i,j;
    for(i=1;i<=G;i++)
        for(j=1;j<=5002;j++)
            a[i][j]=1000000000;

    a[1][e[1]]=c[1];

    for(i=2;i<=G;i++)
        for(j=1;j<=5002;j++)
            if(e[i]<=j)
                a[i][j]=min(a[i-1][j], a[i-1][j - e[i]] + c[i]);
}



int main()
{
    Citire();
    if(ene<W) g<<"-1\n";
    else
    {
        Solve();
        for(int i=W;i<=5001;i++)
            minim=min(minim,a[G][i]);
        g<<minim<<"\n";
    }
    return 0;
}