OIG IV - poc

// https://szkopul.edu.pl/problemset/problem/JCfzwDb9eO9yeeHtMsmpH9c4/site/?key=statement

#include <iostream>
#include <vector>

constexpr int sizik = 1000 * 1001;

int tab[sizik];

int main() {
    std::ios_base::sync_with_stdio(0);
    std::cin.tie(0);
    std::cout.tie(0);

    int n;
    std::cin >> n;

    if (n == 1) {
        std::cout << 1 << '\n';
        return 0;
    }

    std::vector<int> v(n);

    for (int i = 0; i < n; i++) {
        std::cin >> v[i];
    }

    for (int i = 1; i <= n; i++) {
        int a;
        std::cin >> a;

        tab[a] = i;
    }

    int ans = 1, curr = tab[v[v.size() - 1]];

    for (int i = v.size() - 2; i >= 0; i--) {
        auto d = tab[v[i]];

        if (curr == 1) {
            if (i != v.size() - 2) {
                ans++;
            }
            curr = d;
            continue;
        }

        if (d < curr && d != 1) {
            ans++;
        }

        curr = d;
    }

    std::cout << ans << '\n';

    return 0;
}