Pagini recente » Cod sursa (job #2263191) | Cod sursa (job #2039948) | Cod sursa (job #2982568) | Cod sursa (job #3290948) | Cod sursa (job #2471418)
#include<bits/stdc++.h>
using namespace std;
ifstream f("energii.in"); ofstream g("energii.out");
const int NMAX=1000001;
#define FOR(a,b,c) for(int a = b; a <= c; ++a)
int G, cost, pd[10001], enrg, W;
int main()
{ f >> G >> W;
FOR(i,1,W) pd[i] = NMAX;
FOR(i,1,G)
{ f >> enrg >> cost;
for(int j = W; j >= 0; --j)
{ if(pd[j] != NMAX && enrg + j <= W)
pd[j + enrg] = min(pd[j + enrg], pd[j] + cost);
if(enrg + j > W) pd[W] = min(pd[W], pd[j] + cost);
}
}
if(pd[W] == NMAX) g << -1;
else g << pd[W];
return 0;
}