Pagini recente » Cod sursa (job #3296789) | Statistici Negulescu Anca-Mihaela (ancawtblife) | Cod sursa (job #2851773) | Cod sursa (job #2561631) | Cod sursa (job #1454219)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int N, G;
struct Obiect
{
int w, p;
}A[5001];
int pmax;
int Gcur, Pcur;
void Back(int k)
{
if( k == N + 1 )
{
if( pmax < Pcur )
pmax = Pcur;
return;
}
if( Gcur + A[k].w <= G )
{
Gcur += A[k].w;
Pcur += A[k].p;
Back(k + 1);
Gcur -= A[k].w;
Pcur -= A[k].p;
}
Back(k + 1);
}
int main()
{
fin >> N >> G;
for( int i = 1; i <= N; ++i )
fin >> A[i].w >> A[i].p;
Back(1);
fout << pmax << '\n';
return 0;
}