Pagini recente » Istoria paginii utilizator/dianav13 | Cod sursa (job #287556) | Monitorul de evaluare | Cod sursa (job #1937576) | Cod sursa (job #2428566)
#include <iostream>
#DEFINE mx (a>b)?a:b
using namespace std;
int g[5000], val[5000], optim[10001];
int main()
{
ifstream f("rucsac.in");
ofstream g("ofstream.out");
int n, G;
f >> n >> G;
for (i=0;i<n;i++)
f >> g[i] >> val[i];
for (i=0;i<n;i++)
for (j=G-g[i];j>=0;j--)
if (optim[j+g[i]] < optim[j]+val[i])
optim[j+g[i]] = optim[j]+val[i];
g << optim[G];
f.close(), g.close();
return 0;
}