Pagini recente » Cod sursa (job #1871985) | Cod sursa (job #3144851) | Cod sursa (job #1412660) | Cod sursa (job #2689585) | Cod sursa (job #1545862)
#include <iostream>
#include <fstream>
#define INF 100000000
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int e[1002],c[1002];
int cost[5002];
int main()
{
int g,w,i,j;
fin>>g>>w;
for(i=1;i<=g;i++)
fin>>e[i]>>c[i];
for(i=1;i<=w;i++)
cost[i]=INF;
cost[0]=0;
for(i=1;i<=g;i++)
for(j=w+e[i]-1;j>=e[i];j--)
if(cost[j-e[i]]!=INF)
{
if(j>=w)
{
if(cost[j-e[i]]+c[i]<cost[w])
cost[w]=cost[j-e[i]]+c[i];
}
else if(cost[j-e[i]]+c[i]<cost[j])
cost[j]=cost[j-e[i]]+c[i];
}
if(cost[w]==INF) fout<<-1;
else fout<<cost[w];
}