Pagini recente » Cod sursa (job #1169930) | Cod sursa (job #3298555) | Cod sursa (job #343987) | Cod sursa (job #1845515) | Cod sursa (job #1174959)
#include <iostream>
#include <fstream>
#include <climits>
#define inFile "energii.in"
#define outFile "energii.out"
using namespace std;
int cost[5001];
int main()
{
int i,j,g,w,G[1001],C[1001];
ifstream fin(inFile);
fin>>g>>w;
for(i=1;i<=g;i++)
fin>>G[i]>>C[i];
fin.close();
for(j=1;j<=w;j++) cost[j]=INT_MAX;
for(i=1;i<=g;i++)
for(j=w;j>=1;j--)
{
if(G[i]>=j) cost[j]=min(cost[j],C[i]);
else cost[j]=min(cost[j],cost[j-G[i]]+C[i]);
}
ofstream fout(outFile);
if(cost[w]==INT_MAX) fout<<"-1";
else fout<<cost[w];
fout.close();
}