Pagini recente » Cod sursa (job #2615003) | Cod sursa (job #899986) | Cod sursa (job #682142) | Cod sursa (job #997246) | Cod sursa (job #2665016)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
short int W[5001],P[5001];
int Matrix[2][5001];
int main()
{
short int n,G;
f>>n>>G;
for(short int i=1;i<=n;i++)f>>W[i]>>P[i];
for(short int i=1;i<=n;i++)
{
for(short int weight=1;weight<=G;weight++)
if(W[i]<=weight)
Matrix[1][weight]=max(Matrix[0][weight],(P[i]+Matrix[0][weight-W[i]]));
for(short int weight=1;weight<=G;weight++)
Matrix[0][weight]=Matrix[1][weight];
}
for(int i=G;i>=1;i--)
if(Matrix[1][i]){g<<Matrix[1][i];break;}
}