Pagini recente » Cod sursa (job #3226142) | Cod sursa (job #3162033) | Cod sursa (job #2608577) | Cod sursa (job #768310) | Cod sursa (job #1425195)
#include <fstream>
#include <cstring>
using namespace std;
static const int MAXN = 1001;
static const int MAXW = 5000;
unsigned eg[MAXN], cg[MAXN];
unsigned s[MAXW * 2];
int main() {
int g, w;
ifstream f("energii.in");
f >> g >> w;
for(int i = 0; i < g; i++) {
f >> eg[i] >> cg[i];
}
f.close();
memset(s, 0x3F, sizeof(s));
s[0] = 0;
for(int j = 0; j < g; j++)
for(int i = MAXW; i >= 0; i--)
s[i + eg[j]] = min(s[i] + cg[j], s[i + eg[j]]);
unsigned ans = s[MAXW * 2 - 1];
for(int i = MAXW * 2 - 1; i >= w; i--) {
ans = min(ans, s[i]);
}
ofstream fout("energii.out");
fout << ans << endl;
fout.close();
return 0;
}