Pagini recente » Cod sursa (job #2581693) | Cod sursa (job #1417696) | Cod sursa (job #1410478) | Cod sursa (job #2156217) | Cod sursa (job #1728734)
#include <cstdio>
#define NMax 1003
#define DIM 15005
#define INF 1<<30
const int alfa = 10000;
int Power[NMax];
int Cost[NMax];
int CMin[DIM];
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
int j,i,G,W,ans;
scanf("%d",&G);
scanf("%d",&W);
for( i = 1; i <= G; ++i )
scanf("%d %d",&Power[i],&Cost[i]);
for( i = 1; i <= W + alfa; ++i ) CMin[i] = -1;
for( i = 1; i <= G; ++i )
for( j = W + alfa; j >= Power[i]; --j )
if( CMin[ j - Power[i] ] != -1 )
if( CMin[j] > Cost[i] + CMin[ j - Power[i] ] || CMin[j] == -1 )
CMin[j] = Cost[i] + CMin[ j - Power[i] ];
for( ans = INF, i = W; i <= W + alfa; ++i )
if( CMin[i] < ans && CMin[i] != -1 ) ans = CMin[i];
if( ans == INF ) printf("-1\n");
else printf("%d\n",ans);
return 0;
}