Pagini recente » Cod sursa (job #650465) | Cod sursa (job #209282) | Cod sursa (job #3228204) | Cod sursa (job #378955) | Cod sursa (job #628506)
Cod sursa(job #628506)
#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);
}