Pagini recente » Cod sursa (job #3263872) | Cod sursa (job #2748380) | Cod sursa (job #2902256) | Cod sursa (job #1200652) | Cod sursa (job #2251793)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,Gmax,G,V,i,j,pd[3][10001],W[5001],P[5001],V1,h;
int main()
{
fin>>n>>Gmax;
for(i=1; i<=n; i++)
{
fin>>G>>V;
if(V1 == 0)
V1=V;
W[i]=G;
P[i]=V;
pd[2][G]=V1;
}
h=1;
i=2;
while(h<=n)
{
for(j=1; j<=Gmax; j++)
if(j-W[h]>= 0)
pd[i][j]=max(pd[i-1][j],pd[i-1][j-W[h]]+P[h]);
else
pd[i][j]=pd[i-1][j];
for(j=1;j<=Gmax;j++)
pd[i-1][j]=pd[i][j];
h++;
}
fout<<pd[2][Gmax];
return 0;
}