Pagini recente » Cod sursa (job #2218971) | Cod sursa (job #1435168) | Cod sursa (job #1672953) | Cod sursa (job #2598914) | Cod sursa (job #1605856)
#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=1; i<=w; ++i)
d[0][i]=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);
}
if (d[line][w]<oo) fout<<d[line][w];
else fout<<-1;
}
int main()
{
citire();
pd();
return 0;
}