Pagini recente » Cod sursa (job #2219506) | Cod sursa (job #1681813) | Cod sursa (job #1817411) | Cod sursa (job #1114679) | Cod sursa (job #1543035)
#include <iostream>
#include <fstream>
#define inf 100000000
using namespace std;
fstream f("energii.in");
ofstream out("energii.out");
int cost[100000],c[1002],eng[1002];
int main()
{ int g,w,i,j;
f>>g>>w;
for(i=1;i<=g;i++)
{
f>>eng[i]>>c[i];
}
for(i=1;i<=w;i++)
cost[i]=inf;
cost[0]=0;
for(i=1;i<=g;i++)
for(j=w-1+eng[i];j>=eng[i];j--)
{
if(cost[j-eng[i]]!=inf)
{
if(j>=w)
if(cost[j-eng[i]]+c[i]<cost[w])
cost[w]=cost[j-eng[i]]+c[i];
else;
else
if(cost[j-eng[i]]+c[i]<cost[j])
cost[j]=c[i]+cost[j-eng[i]];
}
}
if(cost[w]==inf)out<<-1;
else
out<<cost[w];
return 0;
}