Pagini recente » Cod sursa (job #1976278) | Cod sursa (job #44290) | Cod sursa (job #1914806) | Cod sursa (job #2896225) | Cod sursa (job #1088688)
#include <fstream>
#define IN "rucsac.in"
#define OUT "rucsac.out"
#define NMAX 5005
using namespace std;
ifstream in(IN);
ofstream out(OUT);
int n, Gmax, gr[NMAX], profit[NMAX], castig[NMAX][NMAX];
int main()
{
int i, j;
in>>n>>Gmax;
for(i=1; i<=n; ++i)
in>>gr[i]>>profit[i];
for(i=1; i<=n; ++i)
for(j=1; j<=Gmax; ++j)
if(gr[i]<=j)
if( profit[i] + castig[i-1][j-gr[i]] > castig[i-1][j] )
castig[i][j]=castig[i-1][j-gr[i]] + profit[i];
else
castig[i][j]=castig[i-1][j];
else
castig[i][j]=castig[i-1][j];
out<<castig[n][Gmax]<<'\n';
in.close();
out.close();
return 0;
}