Pagini recente » Cod sursa (job #1924623) | Cod sursa (job #1071928) | Cod sursa (job #1403580) | Cod sursa (job #2135407) | Cod sursa (job #1429296)
/*
* main.cpp
*
* Created on: May 5, 2015
* Author: Vlad Nazdravan
*/
#include <cstdio>
#define max(a,b) a>b?(a):(b)
using namespace std;
const int gmax = 10000;
int d[gmax];
int main() {
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
int n, gm, dr = 0, macs = 0, gi, pi;
scanf("%d%d", &n, &gm);
for (register int i = 1; i <= gm; ++i) {
d[i] = -1;
}
for (register int i = 1; i <= n; ++i) {
scanf("%d%d", &gi, &pi);
for (register int j = dr; j >= 0; --j) {
if (d[j] != -1 && j + gi <= gm && d[j + gi] < d[j] + pi) {
d[j + gi] = d[j] + pi;
dr = max(dr, j + gi);
macs = max(macs, d[j + gi]);
}
}
}
printf("%d", macs);
return 0;
}