Pagini recente » Cod sursa (job #711577) | Cod sursa (job #3192034) | Cod sursa (job #1272983) | Cod sursa (job #678413) | Cod sursa (job #316645)
Cod sursa(job #316645)
#include <stdio.h>
int d[10010],cost[1005],ener[1005];
int cmin = 9999999,G,W,i,j;
int min (int a,int b)
{
if (a>b && b) return b;
return a;
}
int main ()
{
freopen ("energii.in","r",stdin);
freopen ("energii.out","w",stdout);
scanf ("%d %d",&G,&W);
for (i=1;i<=G;i++) scanf ("%d %d",&ener[i],&cost[i]);
for (i=1;i<=G;i++){
for (j=10000;j>=1;j--)
if ( d[j] && j+ener[i]<=10000 ) d[j+ener[i]] = min(d[j]+cost[i],d[j+ener[i]]);
d[ener[i]] = min(cost[i],d[ener[i]]);
}
for (i=W;i<=10000;i++) if (d[i] && d[i]<cmin) cmin = d[i];
if (cmin==9999999) printf ("-1");
else printf ("%d",cmin);
return 0;
}