Pagini recente » Cod sursa (job #2389219) | Cod sursa (job #2068332) | Cod sursa (job #2352450) | Cod sursa (job #2375544) | Cod sursa (job #3145089)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n, g, gr[1005], pr[1005], d[10005], r, i, s;
static inline int calc(int n, int g){
for(int i = 1; i <= g; i++) d[i] = 999999999;
for(int i = 1; i <= n; i++) {
for(int j = g; j >= gr[i]; j--) d[j] = min(d[j], d[j - gr[i]] + pr[i]);
}
int r = 999999999;
for(int j = g / 2; j <= g; j++)
r = min(r, d[j]);
return r;
}
int main() {
fin >> n >> g;
s = 0;
for(i = 1; i <= n; i++){
fin >> gr[i] >> pr[i];
s += gr[i];
}
r = 999999999;
if(s < g) fout << -1;
else {
r = min(r, calc(n, 2 * g));
fout << r;
}
return 0;
}