Pagini recente » Cod sursa (job #1113804) | Cod sursa (job #991584) | Cod sursa (job #2486468) | Cod sursa (job #2365512) | Cod sursa (job #1035649)
#include <fstream>
using namespace std;
int n,gmax,g[1000],p[1000],sol[10000];
ifstream input("input.in");
ofstream output("output.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;
}