#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
vector<int> a(n+1), b(n+1), pos(n+1);
for(int i=1;i<=n;i++){
cin >> a[i];
pos[a[i]] = i;
}
for(int i=1;i<=n;i++){
cin >> b[i];
b[i] = pos[b[i]];
}
vector<int> lis;
for(int i=1;i<=n;i++){
auto it = lower_bound(lis.begin(), lis.end(), b[i]);
if(it == lis.end()) lis.push_back(b[i]);
else *it = b[i];
}
cout << lis.size() << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |