Pagini recente » Cod sursa (job #2079264) | Cod sursa (job #2600718) | Cod sursa (job #2733743) | Cod sursa (job #442657) | Cod sursa (job #2641307)
#include <fstream>
#include <cstring>
using namespace std;
const int WMAX=5000;
int INF = 99999999;
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=1;i<=w;i++)
{
dp[lin][i]=INF;
dp[1-lin][i]=INF;
}
for(i=1;i<=g;i++,lin=1-lin)
{
in>>energie>>pret;
for(j=0;j<=w-energie;j++)
{
if(dp[lin][j]!=INF)
{
dp[1-lin][j+energie]=min(dp[lin][j+energie],dp[lin][j]+pret);
}
}
}
if(dp[lin][w]==INF)
{
out<<-1;
}
else
{
out<<dp[lin][w];
}
return 0;
}