Pagini recente » Cod sursa (job #3326032) | Cod sursa (job #1994393) | Diferente pentru utilizator/loo_k01 intre reviziile 36 si 35 | Monitorul de evaluare | Cod sursa (job #3326003)
#include <iostream>
#define NMAX 1002
#define GMAX 10002
using namespace std;
int n, Gmax;
struct obiect{int c, g;}; //greutatea si valoarea obiectului
obiect v[NMAX];
int cmax[GMAX];
void citire();
void pd();
int main()
{
citire();
pd();
cout<<cmax[Gmax]<<'\n';
return 0;
}
void pd()
{
int i, x;
for(i = 1; i <= n; i++) //folosesc obiectele 1, 2, ..., i - 1
for(x = Gmax; x > 0; x--)
if((v[i].g <= x) && (cmax[x] < v[i].c + cmax[x - v[i].g]))
cmax[x] = v[i].c + cmax[x - v[i].g];
}
void citire()
{
int i;
cin>>n>>Gmax;
for(i = 1; i <= n; i++) cin>>v[i].g>>v[i].c;
}