OI XIII - kra

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

#include <algorithm>
#include <iostream>
#include <vector>

constexpr int INF = 2000000000;

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

    int n, m;
    std::cin >> n >> m;

    if (m > n) {
        std::cout << 0;
        return 0;
    }

    std::vector<int> v;

    v.push_back(INF);

    int min;
    std::cin >> min;
    v.push_back(min);

    for (int i = 0; i < n - 1; i++) {
        int a;
        std::cin >> a;
        if (a < min) {
            min = a;
        }
        v.push_back(min);
    }

    v.push_back(0);

    int pos = n + 1;

    for (int i = 0; i < m; i++) {
        int x;
        std::cin >> x;

        if (pos > 0) pos--;
        while (v[pos] < x)
            pos--;
    }

    std::cout << pos;

    return 0;
}