Pagini recente » Cod sursa (job #1933473) | Cod sursa (job #1426401) | Cod sursa (job #1347073) | Cod sursa (job #760022) | Cod sursa (job #292975)
Cod sursa(job #292975)
#include<stdio.h>
void read(),solve();
int n,G,c[5005],i,energ,cost,j,Cmin=20000000;
int inf=20000000;
int main()
{
read();
solve();
if(Cmin==inf) printf("-1\n");
else printf("%d\n",Cmin);
return 0;
}
void read()
{ freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&G);
for(i=1;i<G;i++) c[i]=inf;
}
void solve()
{
for(i=1;i<=n;i++)
{ scanf("%d%d",&energ,&cost);
if(energ>=G){ if(cost<Cmin) Cmin=cost;
continue;
}
for(j=G-energ;j<G;j++) Cmin=(Cmin<c[j]+cost)? Cmin : c[j]+cost;
for(j=G;j>=energ;j--) c[j]=(c[j]<c[j-energ]+cost)? c[j] : c[j-energ]+cost;
}
}