Pagini recente » Cod sursa (job #1175316) | Cod sursa (job #1082641) | Cod sursa (job #3244066) | Cod sursa (job #2474020) | Cod sursa (job #831477)
Cod sursa(job #831477)
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int G, E, i, j, cost, nrg;
long long s[5001];
int main() {
fin >> G >> E;
for (i = 1; i <= G; i++) {
fin >> nrg >> cost;
for (j = E; j >= 0; --j) {
if (s[j]) {
if (j + nrg >= E) {
if ((s[E] > s[j] + cost) || !s[E]) {
s[E] = s[j] + cost;
}
}else {
if ((s[j + nrg] > s[j] + cost) || !s[j + nrg])
s[j + nrg] = s[j] + cost;
}
}
if (j == nrg) {
if (!s[j]) {
s[j] = cost;
}else {
if (s[j] > cost) {
s[j] = cost;
}
}
}
}
}
fin.close();
if (s[E])
fout << s[E];
else
fout << -1;
fout.close();
return 0;
}