Pagini recente » Cod sursa (job #276938) | Cod sursa (job #2328472) | Cod sursa (job #1861228) | Cod sursa (job #671621) | Cod sursa (job #2051382)
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
struct object
{
int gre;
int val;
}item[5000];
int D[5001][10000],N,i,j,G;
int main()
{
fin>>N>>G;
for (i=1;i<=N;i++)
fin>>item[i].gre>>item[i].val;
for (i=1;i<=N;i++)
for (j=1;j<=G;j++)
{
if (item[i].gre>j) D[i][j] = D[i-1][j];
if (item[i].gre==j) D[i][j] = max(D[i-1][j], item[i].val);
if (item[i].gre<j) D[i][j] = max(D[i-1][j],item[i].val+D[i-1][j-item[i].gre]);
}
fout<<D[N][G];
return 0;
}