Pagini recente » Cod sursa (job #2671894) | Cod sursa (job #1585358) | Cod sursa (job #2830092) | Cod sursa (job #961055) | Cod sursa (job #2468093)
#include <fstream>
using namespace std;
int l[1002],profit[5001*1001],p[1001];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main()
{
int n,w,minn=9999999,s=0;
fin>>n>>w;
for(int i=1;i<=n;i++)
{
fin>>l[i]>>p[i];
s=s+l[i];
}
for(int j=1;j<=s;j++)
profit[j]=99999;
for(int i=0;i<=n;i++)
for(int j=s-l[i];j>=0;j--)
{
if(profit[j]!=-1)
if(p[i]+profit[j]<=profit[j+l[i]])
{
profit[j+l[i]]=p[i]+profit[j];
}
}
for(int i=1;i<=s;i++)
if(profit[i]<=minn and profit[i]>=w)
minn=profit[i];
if(minn==9999999)
fout<<-1;
else
fout<<minn;
return 0;
}