Pagini recente » Cod sursa (job #1020682) | Cod sursa (job #1948493) | Cod sursa (job #387477) | Cod sursa (job #2370776) | Cod sursa (job #1200907)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
short N,W,i,j,t,min1;
short e[1002],c[1002];
int rez[500001];
int main()
{
f>>N>>W;
for (i=1;i<=N;i++)
{f>>e[i]>>c[i];t+=e[i];}
if (t<W)
g<<-1;
else
{
for (i=0;i<=15002;i++)
rez[i]=350000;
rez[0]=0;
for (i=1;i<=N;i++)
{
for (j=W;j>=0;j--)
{
if (rez[j]!=350000)
{
if (rez[j+e[i]]==350000 || rez[j+e[i]]>rez[j]+c[i])
rez[j+e[i]]=rez[j]+c[i];
}
}
}
min1=350000;
for (i=W;i<=W+10001;i++)
if (rez[i]<min1) min1=rez[i];
//for (i=1;i<=W;i++)
// cout<<rez[i]<<'\n';
g<<min1;
}
f.close();g.close();
return 0;
}