Pagini recente » Cod sursa (job #499748) | Cod sursa (job #2974437) | Cod sursa (job #1901562) | Cod sursa (job #2633167) | Cod sursa (job #2701004)
#include <stdio.h>
#define NRGEN 1000
#define EMAX 5001
#define INIT NRGEN * EMAX
int v[EMAX + 1];
int main() {
FILE *fin, *fout;
int n, w, e, c, i, j;
fin = fopen( "energii.in", "r" );
fout = fopen( "energii.out", "w" );
fscanf( fin, "%d%d", &n, &w );
for ( i = 1; i <= w; i++ ) {
v[i] = INIT;
}
for ( i = 1; i <= n; i++ ) {
fscanf( fin, "%d", &e );
fscanf( fin, "%d", &c );
for ( j = w; j > e; j-- ) {
if ( v[j] > v[j - e] + c ) {
v[j] = v[j - e] + c;
}
}
for ( j = 1; j <= e; j++ ) {
if ( v[j] > c ) {
v[j] = c;
}
}
}
if ( v[w] != INIT ) {
fprintf( fout, "%d", v[w] );
}
else {
fprintf( fout, "-1" );
}
return 0;
}