Pagini recente » Cod sursa (job #2964796) | Cod sursa (job #949570) | Cod sursa (job #2398947) | Cod sursa (job #1156441) | Cod sursa (job #1333013)
#include<stdio.h>
struct lalala{int e,c;};
lalala v[1005];
int s[8000000];
int main(){
int cost,n,necesar,i,act,j;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d",&n);
scanf("%d",&necesar);
for(i=1;i<=n;i++)
scanf("%d%d",&v[i].e,&v[i].c);
act=necesar;
for(i=1;i<=n;i++){
for(j=act;j>=1;j--)
if(s[j]!=0&&( (s[j+v[i].e]>s[j]+v[i].c) || (s[j+v[i].e]==0) )){
s[j+v[i].e]=s[j]+v[i].c;
if(j+v[i].e>act)
act=j+v[i].e;
}
if(s[v[i].e]==0||s[v[i].e]>v[i].c)
s[v[i].e]=v[i].c;
if(v[i].e>act)
act=v[i].e;
}
for(i=necesar,cost=100000000;i<=act;i++)
if(s[i]<cost&&s[i]!=0)
cost=s[i];
printf("%d",cost);
return 0;
}