Pagini recente » Cod sursa (job #1732372) | Cod sursa (job #1141260) | Cod sursa (job #1371631) | Cod sursa (job #1061479) | Cod sursa (job #2691091)
#include <fstream>
using namespace std;
const int NMAX = (5e3);
const int SMAX = (1e4);
struct ura {
int g, p;
} v[NMAX + 1];
int f[SMAX + 1];
ifstream fin ( "rucsac.in" );
ofstream fout ( "rucsac.out" );
int main() {
int n, i, j, S, maxy;
fin >> n >> S;
for ( i = 1; i <= n; i++ )
fin >> v[i].g >> v[i].p;
maxy = 0;
for ( i = 1; i <= n; i++ )
for ( j = S - v[i].g; j >= 0; j-- )
if ( f[j] + v[i].p > f[j + v[i].g] ) {
f[j + v[i].g] = f[j] + v[i].p;
maxy = f[j + v[i].g] > maxy? f[j + v[i].g]: maxy;
}
fout << maxy;
return 0;
}