Pagini recente » Cod sursa (job #2105877) | Cod sursa (job #1881296) | Cod sursa (job #2874010) | Cod sursa (job #2280488) | Cod sursa (job #3169733)
#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;
}