Cod sursa(job #1446619)

Utilizator pertadonManaila Petrut pertadon Data 2 iunie 2015 13:25:39
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream fi("rucsac.in");
ofstream fo("rucsac.out");
int a[2][10001], g, gmax, p, n, i, j;
int main() {
  fi >> n >> gmax;
  for(i=1;i<=n;i++){
    fi >> g >> p;
    for(j=1;j<=gmax;j++)
       if(j >= g)
        if(p + a[0][j-g] > a[1][j])
        a[1][j] = a[0][j-g] + p;
       else a[1][j] = a[0][j];
    for(j=0;j<=gmax;j++) a[0][j] = a[1][j];
  }
  fo << a[1][gmax];
  return 0;
}
/*
* 1 2 3 4 5  6  7 8 9 10
a 0 0 7 7 7  7  7 7 7  7
b 0 0 7 7 7 11

g 3 3 1 1 2 1
p 7 4 2 9 4 5
*/