Pagini recente » Cod sursa (job #2018458) | Cod sursa (job #1034335) | Cod sursa (job #1311640) | Cod sursa (job #1604785) | Cod sursa (job #697632)
Cod sursa(job #697632)
#include <cstdio>
const int MaxN=5005;
const int MAX=1<<30;
int W,CGi,EGi,G,sol,p[MaxN];
int minim(int a, int b)
{
if(a>b) return b;
return a;
}
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
for(register int i=0;i<MaxN;++i)
{
p[i]=MAX;
}
scanf("%d",&G);
scanf("%d",&W);
p[0]=1;
for(int i=0;i<G;++i)
{
scanf("%d %d",&EGi,&CGi);
for(int j=MaxN-1;j>=0;--j)
{
if(p[j]!=MAX)
{
int pos=j+EGi;
if(pos>W)
pos=W;
p[pos]=minim(p[pos],p[j]+CGi);
}
}
}
if(p[W]==MAX)
p[W]=0;
printf("%d",p[W]-1);
return 0;
}