Pagini recente » Cod sursa (job #2599427) | Cod sursa (job #2136480) | Cod sursa (job #2571610) | Cod sursa (job #967822) | Cod sursa (job #1674812)
#include <stdio.h>
#define INF 2000000000
#define en_MAX 15001
int RG[en_MAX];
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int G,W,ce,cc,mx = 0,k,i,j;
scanf("%d\n%d\n",&G,&W);
for(i = 1; i <= W; ++i)
RG[i] = INF;
for(k = 1; k <= G; ++k)
{
scanf("%d %d",&ce,&cc);
for(i = W; i >= 1; --i)
{
if(RG[i] != INF)
{
if(i + ce >= W && RG[i] + cc < RG[W])
RG[W] = RG[i] + cc;
if(i + ce < W && RG[i] + cc < RG[i + ce])
RG[i + ce] = RG[i] + cc;
}
}
if(cc < RG[ce])
RG[ce] = cc;
}
if(RG[W] == INF)
printf("-1\n");
else
printf("%d\n",RG[W]);
return 0;
}