Pagini recente » Cod sursa (job #347438) | Cod sursa (job #2606307) | Cod sursa (job #938023) | Cod sursa (job #2089896) | Cod sursa (job #803597)
Cod sursa(job #803597)
#include <fstream>
#define NM 5010
#define GM 10010
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,i,j,gr[NM],p[NM],dp[NM][GM],G,ANS;
int main ()
{
f >> n >> G;
for (i=1; i<=n; i++)
f >> gr[i] >> p[i];
for (i=1; i<=n; i++)
for (j=1; j<=G; j++)
{
dp[i][j]=dp[i-1][j];
if (j>=gr[i])
dp[i][j]=max(dp[i][j], dp[i-1][j-gr[i]]+p[i]);
}
ANS=0;
for (j=1; j<=G; j++)
ANS=max(ANS,dp[n][j]);
g << ANS << '\n';
f.close();
g.close();
return 0;
}