Pagini recente » Cod sursa (job #2547086) | Cod sursa (job #2333996) | Cod sursa (job #2594695) | Cod sursa (job #1710078) | Cod sursa (job #2151802)
#include <fstream>
#include <cstring>
#include <climits>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int m[1002][5005],gr[1002],c[1002],gmax,w,i,j;
int main()
{
f>>gmax>>w;
for(i=1; i<=gmax; i++)
{
f>>gr[i]>>c[i];
}
for(i=1; i<=gmax; i++)
{
m[i][0]=2000000000;
}
for(i=1; i<=w; i++)
{
m[0][i]=2000000000;
}
for(i=1; i<=gmax; i++)
{
for(j=1; j<=w; j++)
{
m[i][j]=m[i-1][j];
if(j <= gr[i])
{
m[i][j]=min(m[i][j],c[i]);
}
else
{
m[i][j]=min(m[i][j],m[i-1][j-gr[i]]+c[i]);
}
}
}
if(m[gmax][w]==2000000000)
{
g<<"-1";
}
else
{
g<<m[gmax][w];
}
return 0;
}