Pagini recente » Cod sursa (job #1046013) | Cod sursa (job #1520860) | Cod sursa (job #398996) | Cod sursa (job #281216) | Cod sursa (job #159573)
Cod sursa(job #159573)
#include<stdio.h>
int e,n,i,j,max;
int b[100],energ[100],c[100],cost[100];
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;
}