Pagini recente » Cod sursa (job #2415465) | Cod sursa (job #938620) | Cod sursa (job #1588041) | Cod sursa (job #2616979) | Cod sursa (job #1699863)
#include <fstream>
#define NM 5005
using namespace std;
int d[2][NM];
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];
}