Pagini recente » Diferente pentru grigore-moisil-2011/10 intre reviziile 2 si 1 | Teamwork | Diferente pentru problema/cadouri intre reviziile 22 si 15 | Diferente pentru problema/cadouri intre reviziile 13 si 14 | Cod sursa (job #373075)
Cod sursa(job #373075)
#include <stdio.h>
int v[5001],g,w,i,j,e,c;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
for (i=1;i<g+1;i++)
{
scanf("%d%d",&e,&c);
for (j=w;j>-1;j--)
{
if (((v[j]!=0)||(j==0))&&((v[e+j]==0)||(v[e+j]>v[j]+c)))
if (e+j<w) v[e+j]=v[j]+c;
else if ((v[w]>v[j]+c)||(v[w]==0)) v[w]=v[j]+c;
}
}
if (v[w]==0) v[w]=-1;
printf("%d",v[w]);
return 0;
}