Pagini recente » Borderou de evaluare (job #1436698) | Cod sursa (job #2493301) | Cod sursa (job #1859606) | Cod sursa (job #300078) | Cod sursa (job #1896800)
#include <fstream>
#define nm1 5001
#define nm2 10001
using namespace std;
int a[nm1], v[nm1], cmax[nm1][nm2], n, gmax;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main()
{
fin>>n>>gmax;
for(int i=1; i<=n; i++)
fin>>a[i]>>v[i];
for (int i=1;i<=n;++i)
for (int g=1;g<=gmax;g++)
{
cmax[i][g]=cmax[i-1][g];
if (a[i]<=g &&
cmax[i][g]<cmax[i-1][g-a[i]]+v[i])
cmax[i][g]=cmax[i-1][g-a[i]]+v[i];
}
fout<<cmax[n][gmax];
return 0;
}