Pagini recente » Cod sursa (job #1157002) | Cod sursa (job #2830281) | Cod sursa (job #3241607) | Cod sursa (job #714325) | Cod sursa (job #1377118)
#include <iostream>
#include <fstream>
#define R 101
#define r 301
using namespace std;
ifstream fin("rucsac.txt");
ofstream fout("rucsac.out");
int k,n,GMax,g[R],c[R];
void Citire ()
{
int i,j;
fin >>n>>GMax;
for (i=1;i<=n;i++) fin>>g[i];
for (j=1;j<=n;j++) fin>> c[j];
}
void Rezolvare ()
{
int CMax[r],i,j;
for (j=1;j<=GMax;j++)
{ CMax[j]=0;
for (i=1;i<=n;i++)
{
if (g[i]==j)
CMax[j]=c[i];
else if (g[i]<j) CMax[j]=c[i]+CMax[j-g[i]];
else CMax[j]=0;
}
}
k=0;
for (j=1;j<=GMax;j++)
if (k<CMax[j]) k=CMax[j];
}
void Afisare (int k)
{
if (k==0) fout <<"IMPOSIBIL";
else fout <<"Castigul maxim este "<<k;
}
int main ()
{
Citire();
Rezolvare();
Afisare(k);
return 0;
}