Pagini recente » Cod sursa (job #2443018) | Cod sursa (job #2303927) | Cod sursa (job #923451) | Cod sursa (job #2634670) | Cod sursa (job #1605840)
#include <iostream>
#include <fstream>
#define gMax 1001
#define wMax 5001
#define oo 1<<30
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
struct gen { int e,c;}v[gMax];
int d[2][wMax];
int g,w;
void citire()
{
fin>>g>>w;
for (int i=1; i<=g; ++i)
fin>>v[i].e>>v[i].c;
}
void pd()
{
int line=0;
for (int i=0; i<2; ++i)
for (int j=1; j<=w; ++j)
d[i][j]=oo;
for (int i=1; i<=g; ++i, line=1-line)
for (int j=1; j<=w; ++j)
{
d[1-line][j]=d[line][j];
if (j>=v[i].e)
d[1-line][j]=min(d[1-line][j],d[line][j-v[i].e]+v[i].c);
else
d[1-line][j]=min(d[1-line][j],v[i].c);
}
fout<<d[line][w];
}
int main()
{
citire();
pd();
return 0;
}