Pagini recente » Cod sursa (job #2596511) | Cod sursa (job #1766315) | Cod sursa (job #1872415) | Cod sursa (job #1952782) | Cod sursa (job #159582)
Cod sursa(job #159582)
#include<stdio.h>
int e,n,i,j,max;
int b[1002],energ[1002],c[1002],cost[1002];
int main(void)
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&e);
for(i=1;i<=n;i++)
scanf("%d%d",&energ[i],&cost[i]);
max=0;
c[0]=0;
b[0]=1;
for(i=1;i<=n;i++)
for(j=max;j>=0;j--)
if(b[j]&&j<e)
{
if(b[j+energ[i]]==0)
{
b[j+energ[i]]=1;
c[j+energ[i]]=c[j]+cost[i];
if(j+energ[i]>max)
max=j+energ[i];
}
else
if(c[j]+cost[i]<c[j+energ[i]])
c[j+energ[i]]=c[j]+cost[i];
}
if(c[e])
printf("%d\n",c[e]);
else
printf("-1\n");
return 0;
}