Pagini recente » Cod sursa (job #988187) | Cod sursa (job #1059294) | Cod sursa (job #3179721) | Cod sursa (job #1479149) | Cod sursa (job #1605463)
#include <iostream>
#include <string.h>
#include <algorithm>
using namespace std;
struct gen {
long long e;
long long c;
};
long long best[5010];
int g, w;
int main (void) {
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
scanf("%d", &g);
scanf("%d", &w);
//read
gen elem;
for (int i = 1; i <= w; ++i) best[i] = 99999999;
for (int j = 0; j < g; ++j) {
scanf("%d %d", &elem.e, &elem.c);
for (int i = w; i >=1 ; --i) {
if (elem.e >= i) {
best[i] = min(best[i], elem.c);
} else {
best[i] = min(best[i - elem.e] + elem.c, best[i]);
}
}
}
if (best[w] == 9999999) {
printf("-1");
} else {
printf("%d", best[w]);
}
return 0;
}