Pagini recente » Cod sursa (job #1531099) | Cod sursa (job #2022670) | Cod sursa (job #1748393) | Cod sursa (job #484438) | Cod sursa (job #3168136)
#include <fstream>
#include <climits>
using namespace std;
const int DIM = 1010;
struct Generator {
int e, c;
};
Generator generators[DIM];
int dp[DIM];
int main() {
ifstream fin("energii.in");
ofstream fout("energii.out");
int g, w;
fin >> g >> w;
for (int i = 1; i <= g; i++)
fin >> generators[i].e >> generators[i].c;
for (int i = 1; i <= w; i++)
dp[i] = INT_MAX;
for (int i = 1; i <= g; i++) {
for (int j = w - 1; j >= 0; j--) {
if (dp[j] != INT_MAX) {
int ind = j + generators[i].e;
if (ind > w)
ind = w;
dp[ind] = min(dp[ind], dp[j] + generators[i].c);
}
}
}
fout << (dp[w] == INT_MAX ? -1 : dp[w]);
fin.close();
fout.close();
return 0;
}