Pagini recente » Cod sursa (job #2478975) | Cod sursa (job #2820511) | Cod sursa (job #99901) | Cod sursa (job #212228) | Cod sursa (job #3169732)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int NMAX = 5005, SMAX = 10000;
int dp[SMAX + 5], n, c[NMAX], e[NMAX], s;
int main() {
fin >> n >> s;
for (int i = 1; i <= n; i++) {
fin >> e[i] >> c[i];
}
for (int i = 1; i <= s; i++)
dp[i] = 1e9;
for (int i = 1; i <= n; i++) {
for (int sum = s - 1; sum >= 0; sum--) {
int nxt = min(sum + e[i], s);
dp[nxt] = min(dp[nxt], dp[sum] + c[i]);
}
}
int res = dp[s];
if (res == 1e9)
fout << -1;
else
fout << res;
return 0;
}