Cod sursa(job #1814763)

Utilizator petrica_norbyPetrica Norbert Mark petrica_norby Data 24 noiembrie 2016 15:32:55
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
using namespace std;

ifstream fi("rucsac.in");
ofstream fo("rucsac.out");

struct chef{
   int g;
   int v;
}Bontea[5005];

int n,i,j,k,g,a[5005],b[10005];

int main()
{
  fi>>n>>g;
  for(i=1;i<=n;i++){
     fi>>Bontea[i].g>>Bontea[i].v;
  }
  for(i=1;i<=n;i++){
    for(j=1;j<=g;j++){
      if(j<Bontea[i].g)
        b[j]=max(b[j-1],a[j]);
      else{
        b[j]=max(max(b[j-1],a[j]),
                    Bontea[i].v+a[j-Bontea[i].g]);
      }

    }
    for(j=1;j<=g;j++)
        a[j]=b[j];b[j]=0;

  }
/*
  for(i=1;i<=n;i++){
    for(j=1;j<=g;j++)
     fo<<a[i][j]<<' ';
    fo<<'\n';
}
*/
  fo<<b[g];


    return 0;
}