Pagini recente » Cod sursa (job #1064813) | Cod sursa (job #2109571) | Cod sursa (job #452159) | Cod sursa (job #1615459) | Cod sursa (job #1049248)
#include <cstdio>
#define inFile "energii.in"
#define outFile "energii.out"
#define NMAX 1005
#define GMAX 5005
#define max(a,b) (a>b?a:b)
int n, g;
int d[NMAX][GMAX];
int main() {
freopen(inFile, "r", stdin);
freopen(outFile, "w", stdout);
scanf("%d %d", &n, &g);
bool printed = false;
for(int i = 1, j, ei, ci; i <= n; i++) {
scanf("%d %d", &ei, &ci);
for(j = 1; j <= g; j++) {
if(ei <= j) {
d[i][j] = max(d[i-1][j], ci + d[i-1][j-ei]);
} else {
d[i][j] = d[i-1][j];
}
if(g <= d[i][j]) {
printf("%d\n", d[i][j]);
printed = true;
return 0;
}
}
}
if(!printed) {
printf("-1\n");
}
return 0;
}