Pagini recente » Cod sursa (job #566165) | Cod sursa (job #965700) | Cod sursa (job #1220517) | Cod sursa (job #155696) | Cod sursa (job #1358147)
#include <fstream>
#include <limits.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int g,w,a[1001],b[5001],d[10001],i,j,Cmin,ok;
int main()
{
fin>>g>>w;
for(i=1;i<=g;i++)
fin>>a[i]>>b[i];
for (i=1;i<=2*w;i++)
d[i]=INT_MIN;
d[0]=0;
for(i=1;i<=g;i++)
for (j=2*w-a[i];j>=0;j--)
if (d[j]!=INT_MIN && d[j+a[i]] < d[j]+b[i])
d[j+a[i]]=d[j]+b[i];
for (i=w;i<=2*w;i++)
if (d[i]!=INT_MIN)
{
if (ok==0)
{
Cmin=d[i];
ok=1;
}
else
if (d[i]<Cmin)
Cmin=d[i];
}
if(ok==0)
fout<<-1;
else
fout<<Cmin;
return 0;
}