Pagini recente » Cod sursa (job #160483) | Cod sursa (job #2087289) | Cod sursa (job #1809809) | Cod sursa (job #1318341) | Cod sursa (job #981469)
Cod sursa(job #981469)
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int NMAX = 5003, INFI = 2e9;
int D[2][NMAX];
int main () {
freopen ("energii.in", "r", stdin);
freopen ("energii.out", "w", stdout);
int N, W, i, j, a, b;
bool k = 0;
scanf ("%d%d", &N, &W);
for (i = 1; i <= W; ++i)
D[0][i] = INFI;
for (i = 1; i <= N; ++i) {
scanf ("%d%d", &a, &b);
k = !k;
for (j = 1; j <= W; ++j)
if (j <= a)
D[k][j] = min (D[!k][j], b);
else
D[k][j] = min (D[!k][j], D[!k][j - a] + b);
}
if (D[k][W] == INFI)
printf ("-1");
else
printf ("%d", D[k][W]);
}