Pagini recente » Cod sursa (job #1729804) | Cod sursa (job #1190783) | Cod sursa (job #2294471) | Cod sursa (job #1817821) | Cod sursa (job #20352)
Cod sursa(job #20352)
#include<fstream.h>
long i,j,n,w,max,e[20001],c[20001],b[20000000];
ifstream f("energii.in");
ofstream g("energii.out");
int main()
{
f>>n>>w;
for(i=1;i<=n;i++)
f>>e[i]>>c[i];
b[0]=1;
max=0;
for(i=1;i<=n;i++)
for(j=max;j>=0;j--)
if((j==0)&&(b[e[i]]==0||b[e[i]]>c[i]))
{
b[e[i]]=c[i];
if(e[i]>max)
max=e[i];
}
else
if((j>0)&&(b[j]>0)&&(b[j+e[i]]==0||b[j+e[i]]>b[j]+c[i]))
{
b[j+e[i]]=b[j]+c[i];
if(j+e[i]>max)
max=j+e[i];
}
if(max>w)
for(i=w;i<=max;i++)
{
if(b[i])
{
g<<b[i];
break;
}
}
else
g<<"-1";
g<<'\n';
f.close();
g.close();
return 0;
}