Pagini recente » Cod sursa (job #3199781) | Cod sursa (job #470824) | Cod sursa (job #2592363) | Cod sursa (job #2305832) | Cod sursa (job #1536686)
#include <fstream>
#define NM 5001
using namespace std;
ifstream InF ("rucsac.in");
ofstream OutF ("rucsac.out");
int W[NM], P[NM];
int n, g;
int A[NM];
int pmax, x;
int i, j;
void scan ();
void solve ();
int main ()
{
scan ();
solve ();
OutF << x;
return 0;
}
void scan ()
{
InF >> n >> g;
for (i=1; i<=n; i++)
InF >> W[i] >> P[i];
}
void solve ()
{
A[0] = 0;
x = 0;
for (i=1; i<=n; i++)
for (j=g-W[i]; j>=0; j--)
if (A[j+W[i]] < A[j]+P[i])
{
A[j+W[i]] = A[j]+P[i];
if (A[j+W[i]] > x)
x = A[j+W[i]];
}
}