Pagini recente » Cod sursa (job #385226) | Cod sursa (job #1294605) | Cod sursa (job #2936960) | Cod sursa (job #485906)
Cod sursa(job #485906)
#include <fstream>
using namespace std;
int main()
{
ifstream fin("energii.in");
ofstream fout("energii.out");
int G, W;
int best = -1;
int cost[5000];
fin >> G >> W;
cost[0] = 0;
for (int i = 1; i < W; i++) cost[i] = -1;
for (int i=0; i<G; i++)
{
int E, C;
fin >> E >> C;
for (int j = W-1; j >= 0; j--)
if (cost[j] >= 0)
{
if (j + E < W)
{
if ((cost[j+E] == -1) || (cost[j] + C < cost[j+E] )) cost[j + E] = cost[j] + C;
}
else
{
if ((best == -1) || (cost[j] + C < best)) best = cost[j]+C;
}
}
}
fout << best;
fin.close();
fout.close();
return 0;
}