Pagini recente » Cod sursa (job #2301590) | Cod sursa (job #1199721) | Cod sursa (job #48118) | Cod sursa (job #696117) | Cod sursa (job #316649)
Cod sursa(job #316649)
#include <stdio.h>
int d[15010],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=15000;j>=1;j--)
if ( d[j] && j+ener[i]<=15000 ) 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<=15000;i++) if (d[i] && d[i]<cmin) cmin = d[i];
if (cmin==9999999) printf ("-1");
else printf ("%d",cmin);
return 0;
}