two elements with difference K in c++

#include <iostream>
#include <unordered_set>

bool hasDifferenceK(int arr[], int n, int k) {
    std::unordered_set<int> seen;

    for (int i = 0; i < n; ++i) {
        int target1 = arr[i] - k;
        int target2 = arr[i] + k;

        if (seen.find(target1) != seen.end() || seen.find(target2) != seen.end())
            return true;

        seen.insert(arr[i]);
    }

    return false;
}

int main() {
    int arr[] = {1, 5, 3, 2, 8, 4, 10};
    int n = sizeof(arr) / sizeof(arr[0]);
    int k = 2;

    if (hasDifferenceK(arr, n, k))
        std::cout << "Yes, there are two elements with a difference of " << k << std::endl;
    else
        std::cout << "No, there are no two elements with a difference of " << k << std::endl;

    return 0;
}