Pagini recente » Cod sursa (job #1145137) | Cod sursa (job #2794589) | Cod sursa (job #1054678) | Cod sursa (job #694520) | Cod sursa (job #1175126)
#include<fstream>
#include <iostream
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[G] == 1000000) out<<"-1\n";
else out<<a[G]<<"\n";
return 0;
}