Pagini recente » Cod sursa (job #2985545) | Cod sursa (job #1149720) | Cod sursa (job #1342282) | Cod sursa (job #2783062) | Cod sursa (job #1718240)
#include <fstream>
#define WMAX 5005
#define INF 9999999
using namespace std;
int d[2][WMAX],j,e,c,g,w,i,G,line,prev;
int main()
{
ifstream f("energii.in");
ofstream g("energii.out");
f>>G>>w;
for(i=1;i<=WMAX;i++)
{
d[0][i]=INF;
d[1][i]=INF;
}
d[0][0]=0;
d[1][0]=0;
for(i=1;i<=G;i++)
{
f>>e>>c;
line=(int)(i&1);
prev=!line;
d[line][i]=INF;
for(j=0;j<=w;j++)
{
d[line][j]=d[prev][j];
if(j-e>=0)
d[line][j] = min(d[prev][j], d[prev][j-e]+c);
else
d[line][j]=min(d[line][j],c);
}
}
if(d[G&1][w]>=INF)
g<<"-1";
else
g<<d[G&1][w];
}