Pagini recente » Cod sursa (job #1344392) | Cod sursa (job #534487) | Cod sursa (job #1699543) | Cod sursa (job #1296328) | Cod sursa (job #152566)
Cod sursa(job #152566)
#include<stdio.h>
#define nmax 10002
#define nmic 1001
#define min(a,b) ((a)<(b)?(a):(b))
#define INF 100000000
int a[nmic],c[nmic];
int sol[nmax];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int n,k,i,j,aux;
scanf("%d%d",&n,&k);
for(i=1; i<=n; ++i)
scanf("%d%d",&a[i],&c[i]);
sol[0]=1;
for(i=0;i<=k;++i)
sol[i]=INF;
sol[0]=0;
//int minp=0;
for(j=1; j<=n; ++j){
/*
if( a[j]> k)
if( !minp || minp>c[j])
minp=c[j];
*/
for(i=k-a[j]; i>=0; --i){
aux=min(k,i+a[j]);
sol[aux]=min(sol[aux],sol[i]+c[j]);
}
}
printf("%d\n",sol[k]!=INF?sol[k]:-1);
return 0;
}