Pagini recente » Cod sursa (job #1517400) | Cod sursa (job #1428984) | Cod sursa (job #1174252) | Istoria paginii utilizator/hai_la_olimpiada_2019-2020_sv | Cod sursa (job #1035657)
#include <fstream>
using namespace std;
int n,gmax,g[1000],p[1000],sol[10000];
ifstream input("rucsac.in");
ofstream output("rucsac.out");
void read()
{
int i;
input >> n >> gmax;
for (i=1;i<=n;i++)
input >> g[i] >> p[i];
}
void rucsac()
{
int i,j,PMax;
for (i=1;i<=n;i++)
sol[i] = -1;
for (i=1;i<=n;i++)
for (j=gmax;j>=0;j--)
if (j+g[i]<=gmax&&sol[j]!=-1)
if (sol[j+g[i]]<sol[j]+p[i])
sol[j+g[i]] = sol[j]+p[i];
for (i=1;i<=gmax;i++)
if (sol[i]>PMax)
PMax = sol[i];
output << PMax;
}
int main()
{
read();
rucsac();
return 0;
}