Cod sursa(job #1174300)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 22 aprilie 2014 14:59:36
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int E[5000],C[5000],a[5000],b[5000],N,G;

int main()
{

    in>>N>>G;
    int i,j;
    for(i = 1 ; i <= N ; i++)
        in>>E[i]>>C[i];
    for(i = 1 ; i <= G ; i++)
        b[i] = 1000000;
    for(i = 1 ; i <= N ; i++)
    {
        for( j = 1 ; j <= G ; j++)
    {
            if(E[i] >= j) a[j] = min(C[i],b[j]);
            else a[j] = min(b[j],b[j-E[i]]+C[i]);
    }
    for(j = 1 ; j <= G ; j++)
        b[i] = a[i];
}
    if(a[N] == 1000000) out<<-1;
    else out<<a[G];
    return 0;
}