Pagini recente » Cod sursa (job #2495656) | Cod sursa (job #1610043) | Profil IacobTudor | Statistici Dana Mihai (mihairazvan03) | Cod sursa (job #797440)
Cod sursa(job #797440)
#include <fstream>
using namespace std;
const int INF = 0x3f3f3f3f;
const int MAX_N = 10010;
ifstream fin("energii.in");
ofstream fout("energii.out");
int best[MAX_N];
int main(int argc, char const *argv[])
{
for (int i = 1; i < MAX_N; ++i) {
best[i] = INF;
}
int G, W, EG, CG;
fin >> G;
fin >> W;
int min = INF;
for (int i = 1; i <= G; ++i) {
fin >> EG >> CG;
for (int j = MAX_N - 1; j >= EG; --j) {
if (best[j-EG] + CG < best[j]) {
best[j] = best[j-EG] + CG;
}
if (j > W && best[j] < best[W] && best[j] < min) {
min = best[j];
}
}
}
if (best[W] == INF && min == INF) {
fout << -1;
} else {
fout << (best[W] < min ? best[W] : min);
}
return 0;
}