Pagini recente » Cod sursa (job #3222440) | Cod sursa (job #2029175) | Cod sursa (job #1282167) | Economie | Cod sursa (job #481279)
Cod sursa(job #481279)
#include <iostream>
#include <algorithm>
#include <fstream>
#include <string>
using namespace std;
#define FILE_IN "energii.in"
#define FILE_OUT "energii.out"
int G, W;
int E[1000], C[1000];
int main()
{
ifstream fisIn(FILE_IN);
ofstream fisOut(FILE_OUT);
fisIn >> G >> W;
for (int i=0; i<G; i++) fisIn >> E[i] >> C[i];
int best = -1;
int cost[5000];
for (int i=0; i<W; i++) cost[i] = -1;
cost[0] = 0;
for (int i=0; i<G; i++)
{
int Ei = E[i];
int Ci = C[i];
for (int j=W-1; j>=0; j--)
if (cost[j] >= 0)
{
if (j+Ei < W)
{
if ((cost[j+Ei] == -1) || (cost[j]+Ci < cost[j+Ei])) cost[j+Ei] = cost[j]+Ci;
}
else
{
if ((best == -1) || (cost[j]+Ci < best)) best = cost[j]+Ci;
}
}
}
fisOut << best;
}