Pagini recente » Cod sursa (job #1951312) | Cod sursa (job #1497195) | Cod sursa (job #2744874) | Cod sursa (job #2342856) | Cod sursa (job #189628)
Cod sursa(job #189628)
#include<stdio.h>
#define INF 2100000
int g,w,c,e,v[1000010],ws,ws1,ab,r=INF;
int main()
{
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int i,j;
scanf("%d%d",&g,&w);
for(i=1; i<1000010; i++)
v[i]=INF;
for(i=0; i<g; i++)
{
scanf("%d%d",&e,&c);
ws=ws1;
for(j=ws; j>=0; j--)
{
if(v[j]!=INF)
{
if(v[j]+c<v[j+e])
v[j+e]=v[j]+c;
if(j+e>ws1)
ws1=j+e;
if(ws1>ab)
ab=ws1;
if(ws1>w)
ws1=w;
}
}
}
if(ab>=w)
{
for(i=w; i<=ab; i++)
{
if(v[i]!=INF)
{
if(v[i]<r)
r=v[i];
}
}
printf("%d\n",r);
}
else
printf("-1\n");
return 0;
}