Pagini recente » Cod sursa (job #551046) | Cod sursa (job #1354085) | Cod sursa (job #246239) | Cod sursa (job #2851029) | Cod sursa (job #3219461)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n, i, j, gr[5002], pr[5002];
int a[2][5002], g;
int main() {
fin >> n >> g;
for(i = 1; i <= n; i++) fin >> gr[i] >> pr[i];
for(j = 1; j <= g; j++) a[0][j] = 5002;
for(i = 1; i <= n; i++) {
int p2 = (i & 1);
int p1 = ((i - 1) & 1);
for(j = 1; j <= g; j++) {
a[p2][j] = a[p1][j];
if(gr[i] <= j) a[p2][j] = min(a[p2][j], pr[i] + a[p1][j - gr[i]]);
}
}
if(a[n & 1][g] == 5002) fout << "-1";
else fout << a[n & 1][g];
return 0;
}