Nu aveti permisiuni pentru a descarca fisierul grader_test12.ok

Cod sursa(job #1446627)

Utilizator PaulgabiBorca Paul Paulgabi Data 2 iunie 2015 13:37:37
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>

using namespace std;

struct obiect {
  int g, p;
};

obiect a[5001];
int n, G, l, g, p, c, pn, lp, lc, mp[2][10001];
ifstream fi ("rucsac.in");
ofstream fo ("rucsac.out");


int main() {
  fi >> n >> G;
  for (l = 1; l <= n; l++)
    fi >> a[l].g >> a[l].p;
  lp = 0; lc = 1;
  for (l = 1; l <= n; l++) {
    for (c = 1; c <= G; c++) {
      if (a[l].g <= c) {
        pn = a[l].p + mp[lp][c-a[l].g];
        if (pn > mp[lp][c])
          mp[lc][c] = pn;
        else
          mp[lc][c] = mp[lp][c];
      }
      else
        mp[lc][c] = mp[lp][c];
    }
    lp = 1 - lp; lc = 1 - lc;
  }
  fo << mp[lp][G];
  return 0;
}