Pagini recente » Cod sursa (job #2164282) | Cod sursa (job #2775289) | Cod sursa (job #2569318) | Cod sursa (job #3214539) | Cod sursa (job #2823819)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
#define cin fin
#define cout fout
#define N 5005
int n, gmax, i, j, a[2][N*2], v[N], g[N];
int main()
{
cin >> n >> gmax ;
for(i = 1 ; i <= n ; i++)
{
cin >> g[i] >> v[i];
}
int ant = 1, curent = 0;
for(i = 1 ; i <= n ; i++)
{
swap(curent,ant);
for(j = 1 ; j <= gmax ; j++)
{
if(j >= g[i])a[curent][j] = max(a[ant][j],a[ant][j-g[i]]+v[i]);
else a[curent][j] = a[ant][j];
}
}
cout << a[curent][gmax] ;
return 0;
}