Pagini recente » Cod sursa (job #2882167) | Cod sursa (job #1904520) | Cod sursa (job #1725330) | Cod sursa (job #3168995) | Cod sursa (job #2793916)
#include <bits/stdc++.h>
using namespace std;
int g;
int w;
int mn[10001];
int nou[10001];
int main() {
freopen ("energii.in", "r", stdin);
freopen ("energii.out", "w", stdout);
cin >> g;
mn[0] = 0;
for (int i = 1; i < 10001; i++) {
mn[i] = 1e9;
}
cin >> w;
for (int i = 1; i <= g; i++) {
int e, p;
cin >> e >> p;
for (int j = 0; j < 10001; j++) {
nou[j] = mn[j];
if (j >= e) {
int potential = mn[j - e] + p;
if (potential < nou[j]) {
nou[j] = potential;
}
}
}
for (int j = 0; j < 10001; j++) {
mn[j] = nou[j];
}
}
/// mn[consum total] = cat mai mic posibil
/// conum total >= w
int solutie = 1e9;
for (int consumtotal = w; consumtotal < 10001; consumtotal++) {
int pret = mn[consumtotal];
if (pret < solutie) {
solutie = pret;
}
}
cout << solutie << "\n";
}