#include <iostream>
#include <cstdio>
#include <vector>
#include <cmath>
using namespace std;
#define N 201
#define L 10000
int main(int argc, char **argv) {
int m, n, l;
int order[N];
int color[L];
cin >> n >> m;
for(int i = 1; i <= n; i ++)
order[i] = -1;
for(int i = 0; i < m; i ++) {
int c;
scanf("%d", &c);
order[c] = i;
}
cin >> l;
for(int i = 0; i < l; i ++) {
int c;
scanf("%d", &c);
color[i] = c;
}
int maxl[N] = {};
for(int i = 0; i < l; i ++) {
int o = order[ color[i] ];
int index = 0;
for(int j = 0; j <= o; j ++) {
if(maxl[j] > maxl[index])
index = j;
}
maxl[o] = maxl[index] + 1;
}
int mml = 0;
for(int i = 0; i < m; i ++) {
if(maxl[i] > mml)
mml = maxl[i];
}
cout << mml << endl;
return 0;
}
1045. Favorite Color Stripe (30)
最新推荐文章于 2021-08-22 12:21:34 发布