Pagini recente » Cod sursa (job #2598360) | Cod sursa (job #1089736) | Cod sursa (job #2245899) | Cod sursa (job #1556623) | Cod sursa (job #844801)
Cod sursa(job #844801)
#include <fstream>
#define Nmax 10010
#define INF 0x3f3f3f3f
using namespace std;
int g, w, minim, best[Nmax], EG, CG;
int main()
{
ifstream f ("energii.in");
ofstream h ("energii.out");
for (int i = 1; i < Nmax; ++i)
{
best[i] = INF;
}
f >> g >> w;
minim = INF;
for (int i = 1; i <= g; ++i)
{
f >> EG >> CG;
for (int j = Nmax - 1; j >= EG; --j)
{
if (best[j - EG] + CG < best[j])
{
best[j] = best[j - EG] + CG;
}
if (j > w && best[j] < best[w] && best[j] < minim)
{
minim = best[j];
}
}
}
if (best[w] == INF && minim == INF)
{
h << "-1\n";
}
else
{
if (best[w] < minim)
h << best[w] << '\n';
else
h << minim << '\n';
}
return 0;
}