Pagini recente » Cod sursa (job #457255) | Cod sursa (job #521795) | Cod sursa (job #1772207) | Cod sursa (job #1739998) | Cod sursa (job #3334775)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
const int MAXN = 1002;
const int MAXW = 10002;
int N, W, E, C;
int sum;
int d[MAXW];
int main()
{
fin >> N >> W;
for (int i = 1; i <= W; ++i) {
d[i] = 1000000;
}
for (int i = 0; i < N; ++i) {
fin >> E >> C;
sum += E;
for (int j = W; j >= 0; --j) {
int next = j + E;
if (next > W) next = W;
d[next] = min(d[next], d[j] + C);
}
}
if (W > sum) {
fout << "-1\n";
} else {
fout << d[W];
}
return 0;
}