Pagini recente » Cod sursa (job #780187) | Cod sursa (job #3134912) | Cod sursa (job #66737) | Cod sursa (job #1720970) | Cod sursa (job #714503)
Cod sursa(job #714503)
#include<cstdio>
#define oo 1<<30
#define MAX 10100
#define MAX2 1005
int best[MAX],power[MAX2],cost[MAX2];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int G,W,S=0,i,j,sol;
scanf("%d %d",&G,&W);
for(int i=1;i<=G;i++)
{
scanf("%d %d",&power[i],&cost[i]);
S=S+power[i];
}
best[0]=1;
for(i=1;i<=G;i++)
for(j=S;j>=0;j--)
if(best[j])
if((!best[j+power[i]])||(best[j+power[i]]>best[j]+cost[i]))
best[j+power[i]]=best[j]+cost[i];
for(i=W,sol=oo;i<=S;i++)
if((best[i]<sol)&&best[i])
sol=best[i];
if(sol==oo)
printf("-1\n");
else
printf("%d",sol-1);
return 0;
}