Cod sursa(job #1602667)
Utilizator | Data | 16 februarie 2016 21:12:45 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.42 kb |
#include <fstream>
using namespace std;
int g, w, i, j, e, c, a[5005];
int main () {
ifstream fi("energii.in");
ofstream fo("energii.out");
fi >> g >> w;
for (i = 1; i <= w; i++)
a[i] = 2e9;
for (i = 1; i <= g; i++) {
fi >> e >> c;
for (j = w; j >= 0; j--)
if (j > e)
a[j] = min(a[j], a[j-e]+c);
else
a[j] = min(a[j], c);
}
a[w] == 2e9 ? fo << -1 : fo << a[w];
return 0;
}