Cod sursa(job #1174316)

Utilizator radu_cebotariRadu Cebotari radu_cebotari Data 22 aprilie 2014 15:40:25
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 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(b[j],C[i]);
            else a[j] = min(b[j],b[j-E[i]]+C[i]);
    }
    for(j = 1 ; j <= G ; j++)
        b[j] = a[j];
}
    if(a[N] == 1000000) out<<"-1\n";
    else out<<a[G]<<"\n";
    return 0;
}