Pagini recente » Cod sursa (job #2185426) | Cod sursa (job #2750988) | Cod sursa (job #1906619) | Cod sursa (job #258661) | Cod sursa (job #2202249)
#include <iostream>
#include <algorithm>
#include <stdio.h>
#define NMAX 5001
#define WMAX 50000001
using namespace std;
int v[ NMAX * 2 ] ;
int main() {
FILE *fin, *fout ;
fin = fopen ("energii.in", "r" ) ;
fout = fopen ("energii.out", "w" ) ;
int g, w, e, l, i, c, j ;
fscanf (fin, "%d%d", &g, &w ) ;
l = 0 ;
for( i = 1; i <= w; i++)
v[i] = WMAX;
for (i = 0 ; i < g ; i++ ) {
fscanf (fin, "%d%d", &e, &c ) ;
for (j = w ; j >= 0 ; j-- ) {
v[j] = min (v[j], v[j]+c ) ;
if (e+j < w ) {
v[j+e] = min(v[j+e], (v[j] + c) ) ;
}
}
}
if (v[w] != WMAX )
fprintf (fout, "%d", v[w] ) ;
else
fprintf (fout, "-1" ) ;
return 0;
}