Pagini recente » Cod sursa (job #3256229) | Cod sursa (job #187359) | Cod sursa (job #1858824) | Cod sursa (job #1861396) | Cod sursa (job #464759)
Cod sursa(job #464759)
#include<fstream.h>
long s[10005],eg[1005],cg[1005],g,w;
void cit()
{ifstream fin("energii.in");
fin>>g>>w;
long i;
for(i=1;i<=g;++i)
fin>>eg[i]>>cg[i];
fin.close();
}
void solve()
{s[0]=1;
long i,j;
for(i=1;i<=g;++i)
{ for(j=10000;j>=0;--j)
if(s[j]&&j+eg[i]<=10000)
{if(s[j+eg[i]]==0)
s[j+eg[i]]=s[j]+cg[i];
else
if(s[j+eg[i]]>s[j]+cg[i])
s[j+eg[i]]=s[j]+cg[i];
}
}
}
void afis()
{ofstream fout("energii.out");
long i,sw=0,p;
p=w;
for(i=w;i<=10000;++i)
if(s[i])
{p=i;
sw=1;
break;
}
for(i=p+1;i<=10000;++i)
if(s[i]&&s[i]<s[p])
p=i;
if(sw==0)
fout<<-1;
else
fout<<s[p]-1;
fout.close();
}
int main()
{cit();
solve();
afis();
return 0;
}