Pagini recente » Cod sursa (job #2968107) | Cod sursa (job #968952) | Cod sursa (job #1846695) | Cod sursa (job #89264) | Cod sursa (job #3204073)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int N,G,p[5010],w[5010],dp[5010][10010];
void citire()
{
fin>>N>>G;
for(int i=1; i<=N; i++)
fin>>w[i]>>p[i];
}
void rezolvare()
{
for(int i=1; i<=N; i++)
for(int g=0; g<=G; g++)
{
dp[i][g]=dp[i-1][g];
if(w[i]<=g)
dp[i][g]=max(dp[i][g],dp[i-1][g-w[i]] + p[i]);
}
}
int main()
{
citire();
rezolvare();
fout<<dp[N][G];
return 0;
}