Cod sursa(job #1127207)

Utilizator UngureanuRobertUngureanu Robert Mihail UngureanuRobert Data 27 februarie 2014 11:36:57
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <fstream>

using namespace std;

  ifstream f("rucsac.in");
  ofstream g("rucsac.out");

    int c[2][10005],w[5005],p[5005],n,G,i,l,j;

  void citire(){
    f>>n>>G;
    for(i=1;i<=n;i++){
      f>>w[i]>>p[i];
    }
  }

  void solve(){

    l=1;
    for(i=1;i<=n;i++,l=1-l){
      for(j=1;j<=G;j++)
        if(w[i]<=j)
          c[l][j]=max(c[1-l][j],c[1-l][j-w[i]]+p[i]);
        else
          c[l][j]=c[1-l][j];
    }
    g<<c[1-l][G];
  }

int main()
{
    citire();
    solve();
    return 0;
}