Pagini recente » Cod sursa (job #2419578) | Cod sursa (job #512797) | Cod sursa (job #68420) | Cod sursa (job #3230202) | Cod sursa (job #159590)
Cod sursa(job #159590)
#include<stdio.h>
int e,n,i,j,max,min;
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];
}
min=32000
for(i=max;i>=e;i--)
{
if(c[i]<min)
min=c[i];
}
printf("%d\n",min);
else
printf("-1\n");
return 0;
}