Pagini recente » Cod sursa (job #2486724) | Cod sursa (job #1305481) | Cod sursa (job #1234175) | Cod sursa (job #694871) | Cod sursa (job #840914)
Cod sursa(job #840914)
#include <fstream>
using namespace std;
const char iname[] = "rucsac.in";
const char oname[] = "rucsac.out";
ifstream fin(iname);
ofstream fout(oname);
int N , Gmax , i , j , gc;
int G[ 5004 ] , P[ 5004 ];
int DP[ 5004 ][ 10001 ];
int main()
{
fin >> N >> Gmax;
for (i = 1; i <= N; ++i)
fin >> G[i] >> P[i];
for (i = 1; i <= N; ++i)
{
for (gc = 0; gc <= Gmax; ++gc)
{
if (G[i] <= gc)
DP[i][gc] = max(DP[i - 1][gc - G[i]] + P[i] , DP[i - 1][gc]);
else
DP[i][gc] = DP[i - 1][gc];
}
}
fout << DP[N][Gmax] << '\n';
return 0;
}