fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. void isValidPair(int arr[], int k, int n){
  5. //element , index of last occurence
  6. unordered_map<int,int>mpp;
  7.  
  8. for(int i=0;i<n;i++){
  9. //if curr el found in map
  10. if(mpp.find(arr[i])!=mpp.end()){
  11. int index=mpp[arr[i]];
  12. int dist = i-index-1;
  13. if(dist<=k) cout<<"Valid pair found at index "<<i<<endl;
  14. }
  15. else{
  16. mpp[arr[i]]=i;
  17. }
  18. }
  19. }
  20. int main() {
  21. // your code goes here
  22. int arr[]={1, 2, 3 ,1,2};
  23. int k=2;
  24. isValidPair(arr, k, 5);
  25. return 0;
  26. }
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
Valid pair found at index 3
Valid pair found at index 4