CCCPaste

Untitled

#include 
using namespace std;
int main() {
    int n, m, k;
    cin >> n >> m >> k;
    multiset ms;
    vector a(n), b(m);
    for(int i = 0; i < n; i++) {
        cin >> a[i];
    }
    for(int i = 0; i < m; i++) {
        cin >> b[i];
        ms.insert(b[i]);
    }
    sort(a.begin(), a.end());
    sort(b.begin(), b.end());
    int res = 0;
    for(int i = 0; i < n; i++) {
        int x = a[i] - k;
        multiset::iterator it = ms.lower_bound(x);
        if(*it >= x and *it <= a[i] + k) {
            res++;
            ms.erase(it);
        }
    }
    cout << res << endl;
    return 0;
}