Pagini recente » Istoria paginii utilizator/mihaitav | Cod sursa (job #530068) | Monitorul de evaluare | Cod sursa (job #791490) | Cod sursa (job #2567550)
#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;
}