Pagini recente » Cod sursa (job #2427615) | Cod sursa (job #2192882) | Cod sursa (job #709361) | Cod sursa (job #2544561) | Cod sursa (job #2537603)
#include <bits/stdc++.h>
#define Nmax 5005
#define Gmax 10005
using namespace std;
ifstream fin ( "rucsac.in" );
ofstream fout ( "rucsac.out" );
struct obiect
{
int g, p;
};
void read ( );
void solve ( );
vector < obiect > v;
int d0[Gmax], d1[Gmax];
int n, g;
int main ( )
{
read ( );
solve ( );
}
void solve ( )
{
int lng = v.size(), _g;
for ( int i = 0; i < lng; i++ )
{
for ( int j = 1; j <= g; j++ )
{
_g = j - v[i].g;
if ( _g >= 0 )
d1[j] = max ( d0[j], d0[_g] + v[i].p );
else d1[j] = d0[j];
}
swap ( d0, d1 );
}
fout << d0[g];
}
void read ( )
{
obiect x;
fin >> n >> g;
for ( int i = 1; i <= n; i++ )
{
fin >> x.g >> x.p;
v.push_back(x);
}
}