Pagini recente » Cod sursa (job #389183) | Cod sursa (job #831190) | Cod sursa (job #58434) | Cod sursa (job #2449597) | Cod sursa (job #1643132)
#include <fstream>
#define GMax 1001
#define WMax 5001
#define INF 2e9
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int g[GMax], w[WMax], a[GMax], b[GMax], G, W;
int mn;
void Citire()
{
int i;
fin >> G >> W;
for (i = 1; i <= G; ++ i)
fin >> g[i] >> w[i];
}
void Energii()
{
int i, j;
for (i = 1; i <= W; ++ i)
a[i] = b[i] = INF;
for (i = 1; i <= G; ++ i)
{
for (j = 1; j <= W; ++ j)
if (j - g[i] >= 0)
b[j] = min(b[j], a[j - g[i]] + w[i]);
else
b[j] = min(b[j], w[i]);
for (j = 1; j <= W; ++ j)
a[j] = b[j];
}
}
int main()
{
Citire();
fin.close();
Energii();
fout << b[W] << "\n";
fout.close();
return 0;
}