Pagini recente » Cod sursa (job #453389) | Cod sursa (job #2404776) | Cod sursa (job #2182644) | Cod sursa (job #1123075) | Cod sursa (job #2468223)
#include <fstream>
using namespace std;
int l[1002],profit[5005],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+=l[i];
}
if(s<w)
fout<<-1;
else
{
int k;
for(int j=1; j<=w; j++)
profit[j]=minn;
for(int i=1; i<=n; i++)
for(int j=w-1; j>=0; j--)
{
if(profit[j]!=minn)
{
if(j+l[i]>=w)
k=w;
else
k=j+l[i];
if(profit[j]+p[i]<profit[k])
profit[k]=profit[j]+p[i];
}
}
fout<<profit[w];
}
return 0;
}