Pagini recente » Statistici Cnejevici Vlad (vladcnejevici) | Cod sursa (job #946968) | Politic2 | Cod sursa (job #181503) | Cod sursa (job #711544)
Cod sursa(job #711544)
//Include
#include <cstdio>
#include <algorithm>
#include <vector>
using namespace std;
//Constante
const int MAX_SIZE = (int)5e3+1;
//Variabile
int n, g;
int greutate[MAX_SIZE], cost[MAX_SIZE];
vector<int> curent, precedent;
//Main
int main()
{
freopen("rucsac.in", "rt", stdin);
freopen("rucsac.out", "wt", stdout);
scanf("%d%d", &n, &g);
for(int i=1 ; i<=n ; ++i)
scanf("%d%d", &greutate[i], &cost[i]);
curent.resize(g+1);
precedent.resize(g+1);
for(int i=1 ; i<=n ; ++i)
{
for(int j=0 ; j<=g ; ++j)
{
curent[j] = precedent[j];
if(j >= greutate[i])
curent[j] = max(curent[j], precedent[j - greutate[i]] + cost[i]);
}
curent.swap(precedent);
}
printf("%d", precedent[g]);
fclose(stdin);
fclose(stdout);
return 0;
}