Cod sursa(job #1828474)

Utilizator alexoloieriAlexandru Oloieri alexoloieri Data 13 decembrie 2016 13:45:02
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#define LMAX 10005

using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int n, G;
int g[LMAX], c[LMAX];
int cmax[LMAX];

void citire();
void pd();

int main()
{
citire();
pd();
fout<<cmax[G]<<'\n';
fin.close();
fout.close();
return 0;
}

void citire()
    {
     int i;
     fin>>n>>G;
     for (i=1;i<=n;i++)
          fin>>g[i]>>c[i];
    }

void pd()
    {
     int i, x;
     for (i=1;i<=n;i++)
          for (x=G;x>=1;x--)
               if (g[i]<=x&&cmax[x-g[i]]+c[i]>cmax[x])
                   cmax[x]=cmax[x-g[i]]+c[i];
    }