Pagini recente » Cod sursa (job #2415448) | Cod sursa (job #2330914) | Cod sursa (job #2415295) | Cod sursa (job #1678204) | Cod sursa (job #1699864)
#include <fstream>
#define NM 5005
#define GM 10005
using namespace std;
int d[2][GM];
int gr[NM], p[NM], n, m;
int main()
{
ifstream f("rucsac.in");
ofstream g("rucsac.out");
bool w = 0;
f >> n >> m;
for(int i = 1; i <= n; ++i)
f >> gr[i] >> p[i];
for(int i = 1; i <= n; ++i)
{
for(int j = 0; j <= m; ++j)
{
d[0^w][j] = d[1^w][j];
if(gr[i] <= j)
d[0^w][j] = max(d[0^w][j], d[1^w][j-gr[i]]+p[i]);
}
w ^= 1;
}
g << d[1^w][m];
}