Pagini recente » Cod sursa (job #3131018) | Cod sursa (job #2909939) | Cod sursa (job #117618) | Cod sursa (job #2724344) | Cod sursa (job #1388991)
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int n,G,gr[5050],pr[5050],d[5050][10050];
int main()
{
f>>n>>G;
for (int i=1; i<=n; ++i) f>>gr[i]>>pr[i];
for (int i=1; i<=n; ++i)
for (int j=1; j<=G; ++j)
{
// nu il sutesc pe i
d[i][j]=d[i-1][j];
// il sutesc pe i daca pot, si daca se merita
if (gr[i]<=j) d[i][j]=max(d[i][j],d[i-1][j-gr[i]]+pr[i]);
}
g<<d[n][G]<<'\n';
f.close();
g.close();
return 0;
}