class Solution {
public:
    bool containsNearbyDuplicate(std::vector<int>& nums, int k) {
        const int n = nums.size();
        for (int i = 0; i < n; ++i) {
            // check from i+1 up to i+k (but not beyond n)
            for (int j = i + 1; j <= i + k && j < n; ++j) {
                if (nums[i] == nums[j]) {
                    return true;
                }
            }
        }
        return false;
    }
};