Pagini recente » Cod sursa (job #1589900) | Cod sursa (job #1086263) | Cod sursa (job #57246) | Cod sursa (job #2001658) | Cod sursa (job #1054858)
#include<stdio.h>
int g,i,n,sum[10000004],j,pus[10000004],c[1001],gr[1001],s;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&g);
for(i=1;i<=n;i++)
{
scanf("%d%d",&gr[i],&c[i]);
s+=gr[i];
}
for(i=1;i<=s;i++)
sum[i]=100000001;
for(i=1;i<=n;i++)
{
for(j=1;j<=g;j++)
{
if(sum[j]+c[i]<sum[j+gr[i]]&&pus[j]!=i)
{
sum[j+gr[i]]=sum[j]+c[i];
pus[j+gr[i]]=i;
}
}
if(sum[gr[i]]>c[i]){
sum[gr[i]]=c[i];
pus[gr[i]]=i;
}
}
int min=100000001;
for(i=g;i<=s;i++)
{
if(sum[i]<min&&sum[i]!=0)
{
min=sum[i];
}
}
if(min==100000001)
min=-1;
printf("%d",min);
return 0;
}