Pagini recente » Cod sursa (job #1454389) | Cod sursa (job #2099272) | Cod sursa (job #2189481) | Cod sursa (job #1736948) | Cod sursa (job #2641545)
#include <fstream>
#include <cstring>
using namespace std;
const int WMAX=5000;
int INF = 999999999;
int dp[2][1+WMAX];
int energie,pret;
int main()
{
int g,w,i,j,lin=1;
ifstream in("energii.in");
ofstream out("energii.out");
in>>g>>w;
for(i=0;i<=w;i++)
{
dp[1-lin][i]=INF;
}
for(i=1;i<=g;i++,lin=1-lin)
{
in>>energie>>pret;
for(j=0;j<=w;j++)
{
if(j<=energie)
{
dp[lin][j]=min(dp[1-lin][j],pret);
}
else
{
dp[lin][j]=min(dp[1-lin][j],dp[1-lin][j-energie]+pret);
}
}
}
if(dp[1-lin][w]==INF)
{
out<<-1;
}
else
{
out<<dp[1-lin][w];
}
return 0;
}