Pagini recente » Cod sursa (job #881776) | Cod sursa (job #94799) | Cod sursa (job #2235460) | Cod sursa (job #1690489) | Cod sursa (job #343230)
Cod sursa(job #343230)
#include <stdio.h>
#define MAXN 10000
#define MAXG 1001
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int nrg,minc,best[MAXN],i,j,c[MAXG],e[MAXG],min = 99999999;
for (i=0;i<MAXN;i++)
{
best[i] = -1;
}
scanf("%d%d",&nrg,&minc);
for (i=1;i<=nrg;i++)
{
scanf("%d%d",&e[i],&c[i]);
}
best[0] = 0;
for (i=1;i<=nrg;i++)
{
for (j=minc;j>=0;j--)
{
if (best[j] != -1)
{
if (j + e[i] < minc)
{
if (best[j+e[i]]>best[j]+c[i] || best[j+e[i]] == -1)
{
best[j+e[i]] = best[j]+c[i];
}
}
else
{
if (best[j]+c[i] < min)
{
min = best[j]+c[i];
}
}
}
}
}
if (min == 99999999)
{
printf("-1");
}
else
{
printf("%d",min);
}
return 0;
}