#include <iostream>
#include <vector>
#include <unordered_map>
using namespace std;
bool containsNearbyDuplicate(vector<int>& nums, int k) {
unordered_map<int, int> lastIndex;
for (int i = 0; i < nums.size(); i++) {
if (lastIndex.count(nums[i]) && i - lastIndex[nums[i]] <= k)
return true;
lastIndex[nums[i]] = i;
}
return false;
}
int main() {
vector<int> nums = {1, 2, 3, 1, 4, 5};
int k = 3;
cout << (containsNearbyDuplicate(nums, k) ? "Yes" : "No");
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmJvb2wgY29udGFpbnNOZWFyYnlEdXBsaWNhdGUodmVjdG9yPGludD4mIG51bXMsIGludCBrKSB7CiAgICB1bm9yZGVyZWRfbWFwPGludCwgaW50PiBsYXN0SW5kZXg7CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1zLnNpemUoKTsgaSsrKSB7CiAgICAgICAgaWYgKGxhc3RJbmRleC5jb3VudChudW1zW2ldKSAmJiBpIC0gbGFzdEluZGV4W251bXNbaV1dIDw9IGspCiAgICAgICAgICAgIHJldHVybiB0cnVlOwoKICAgICAgICBsYXN0SW5kZXhbbnVtc1tpXV0gPSBpOwogICAgfQoKICAgIHJldHVybiBmYWxzZTsKfQoKaW50IG1haW4oKSB7CiAgICB2ZWN0b3I8aW50PiBudW1zID0gezEsIDIsIDMsIDEsIDQsIDV9OwogICAgaW50IGsgPSAzOwoKICAgIGNvdXQgPDwgKGNvbnRhaW5zTmVhcmJ5RHVwbGljYXRlKG51bXMsIGspID8gIlllcyIgOiAiTm8iKTsKICAgIHJldHVybiAwOwp9