Pagini recente » Cod sursa (job #1944317) | Cod sursa (job #1519715) | Cod sursa (job #2370279) | Cod sursa (job #684760) | Cod sursa (job #526432)
Cod sursa(job #526432)
#include<stdio.h>
int g,w,e[1001],c[1001],p,k, S,n,j;
int v[1000001];
int main()
{
int i;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&g,&w);
S = w;
for(i=1;i<=g;i++)
scanf("%d%d",&e[i],&c[i]);
v[0]=0;
for(i=1;i<=1000001;i++)
v[i]=-1;
int min = 2000000000;
v[e[1]]=c[1];
for(i=2;i<=g;i++)
{
for( j = S; j >= 0; j--)
if( v[ j ] != -1 )
{
if( v[ j + e[ i ] ] == - 1 || v[ j + e[ i ] ] > c[ i ] + v[ j ])
v[j+e[i]]= c[i] + v[ j ];
if( j + e[ i ] >= S)
if( v[ j + e[ i ] ] < min ) min = v[ j + e[ i ]];
}
}
if( min == 2000000000) min = -1;
printf("%d",min);
return 0;
}