Pagini recente » Cod sursa (job #2797500) | Cod sursa (job #1490476) | Cod sursa (job #1222466) | Cod sursa (job #105037) | Cod sursa (job #2113443)
#include <fstream>
#define DEF 10010
#define INF 1 << 29
using namespace std;
ifstream fin ("energii.in");
ofstream fout ("energii.out");
int E[DEF], C[DEF], D[DEF][DEF], n, w;
long long c_tot;
int main () {
fin >> n >> w;
for (int i = 1; i <= n; ++ i) {
fin >> E[i] >> C[i];
c_tot += C[i];
}
for (int i = 1; i <= w; ++ i) {
D[0][i] = INF;
}
for (int i = 1; i <= n; ++ i) {
for (int j = 1; j <= w; ++ j) {
D[i][j] = INF;
if (E[i] <= j)
D[i][j] = min (D[i - 1][j], D[i - 1][j - E[i]] + C[i]);
else {
D[i][j] = min (D[i - 1][j], C[i]);
}
}
}
if (D[n][w] == INF) {
fout << -1;
return 0;
}
fout << D[n][w];
return 0;
}