Pagini recente » Cod sursa (job #1432082) | Cod sursa (job #867850) | Cod sursa (job #325402) | Cod sursa (job #1770272) | Cod sursa (job #872061)
Cod sursa(job #872061)
#include <fstream>
#define inf 2000000000
#define minim(a,b) (a<b)?a:b
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
int energ,cost;
int n,k,i,j;
int e[5005],trecut;
int main() {
f >> n >> k;
for (i=1;i<=5000;i++) e[i] = inf;
trecut = inf;
for (i=1;i<=n;i++) {
f >> energ >> cost;
for (j = k; j>=1; j--) {
if (j+energ >= k) trecut = minim(trecut,e[j]+cost);
else if (e[j] != inf) e[j+energ] = minim(e[j+energ],cost);
}
if (energ >= k) trecut = minim(trecut,cost);
else e[energ] = minim(e[energ],cost);
}
if (trecut != inf) g << trecut;
return 0;
}