Pagini recente » Cod sursa (job #623740) | Cod sursa (job #1961440) | Cod sursa (job #1662244) | Istoria paginii runda/ada21/clasament | Cod sursa (job #3040179)
/// [A][M][C][B][N] ///
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int inf = 0x3f3f3f3f;
const int nmax = 1e3;
const int wmax = 5e3;
const int gmax = 1e4;
int n, W;
int w[nmax + 1], c[nmax + 1];
int dp[gmax + wmax + 1];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
fin >> n >> W;
for (int i = 1; i <= n; ++i) {
fin >> w[i] >> c[i];
}
fill(dp, dp + wmax + gmax + 1, inf);
dp[0] = 0;
for (int i = 1; i <= n; ++i) {
for (int j = wmax + gmax; j >= w[i]; --j) {
dp[j] = min(dp[j], dp[j - w[i]] + c[i]);
}
}
int ans = inf;
for (int i = W; i <= wmax + gmax; ++i) {
ans = min(ans, dp[i]);
}
fout << (ans == inf ? -1 : ans);
}