Pagini recente » Cod sursa (job #3132875) | Cod sursa (job #2553763) | Cod sursa (job #2807123) | Cod sursa (job #603671) | Cod sursa (job #1331928)
#include <fstream>
#define nmax 5050
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
unsigned int PD[5][nmax * 2], Gr[nmax], Pr[nmax], G, N;
inline int maxim(int a, int b){
return (a > b) ? a : b;
}
int main()
{unsigned int i, j, l;
f>> N>> G;
for(i = 1; i <= N; ++i)
f>> Gr[i]>> Pr[i];
j = 1;
for(i = 1; i <= N; ++i, j = 1 - j)
for(l = 0; l <= G; ++l)
{
PD[1 - j][l] = PD[j][l];
if(Gr[i] <= l)
PD[1 - j][l] = maxim(PD[1 - j][l], PD[j][l - Gr[i]] + Pr[i]);
}
g<< PD[j][G]<<'\n';
return 0;
}