Pagini recente » Cod sursa (job #2019486) | Monitorul de evaluare | Cod sursa (job #1312554) | Cod sursa (job #308894) | Cod sursa (job #2485814)
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int gr[5005], co[5005], n, gmax, a[10005], b[10005];
int main ()
{
int i, j;
fin>>n>>gmax;
for (i=1; i<=n; i++)
fin>>gr[i]>>co[i];
for (i=1; i<=n; i++)
{
for (j=1; j<=gmax; j++)
{
if (j>=gr[i])
a[j]=max(b[j-gr[i]]+co[i], b[j]);
else a[j]=b[j];
}
swap(a, b);
}
fout<<b[gmax];
fin.close();
fout.close();
return 0;
}