Cod sursa(job #628506)

Utilizator wefgefAndrei Grigorean wefgef Data 1 noiembrie 2011 16:44:48
Problema Subsir crescator maximal Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include <fstream>
using namespace std;

const int MAX_N = 1030;

ifstream fin("cmlsc.in");
ofstream fout("cmlsc.out");

int n, m;
int a[MAX_N], b[MAX_N];

void read() {
  fin >> n >> m;
  for (int i = 1; i <= n; ++i)
    fin >> a[i];
  for (int i = 1; i <= m; ++i)
    fin >> b[i];
}

void solve(int x1, int x2, int y1, int y2) {
  if (x1 == x2) {
    for (int j = y1; j <= y2; ++j)
      if (a[i] == b[j]) {
        fout << a[i] << " ";
        return;
      }
    return;
  }

  int mid = (x1 + x2) / 2;
  int p = 0;
  for (int i = x1; i <= x2; ++i) {
    for (int j = y1; j <= y2; ++j) {
      if (a[i] == b[j]) {
        d[p][j] = 1 + d[p ^ 1][j - 1];
      } else
        if (d[p ^ 1][j] > d[p][j - 1]) {

        } else {

        }

      // print solution size
      if (x1 == 1 && x2 == n && y1 == 1 && y2 == m && i == n && j == m)
        fout << d[p][j] << '\n';
    }
    p ^= 1;
  }
}

int main() {
  read();
  solve(1, n, 1, m);
}