fork download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3.  
  4. using namespace std;
  5.  
  6. int main() {
  7. // your code goes here
  8. int n,l,r;
  9. cin>>n>>l>>r;
  10. vector<int> arr(n);
  11. unordered_map<int,int> mpp;
  12.  
  13. for(int i=0;i<n;i++){
  14. cin>>arr[i];
  15. }
  16. int a = r-l+1;
  17. int i=0;
  18. int j=0;
  19. int ans = INT_MAX;
  20.  
  21. while(i<n && j<n){
  22. if(arr[j]>=l && arr[j]<=r){
  23. mpp[arr[j]]++;
  24. }
  25.  
  26. while(mpp.size()==a){
  27. ans = min(ans,j-i+1);
  28. if(arr[i]>=l && arr[i]<=r){
  29. mpp[arr[i]]--;
  30. if(mpp[arr[i]]==0){
  31. mpp.erase(arr[i]);
  32. }
  33. }
  34. i++;
  35. }
  36.  
  37. j++;
  38. }
  39. cout<<ans<<endl;
  40. return 0;
  41. }
Success #stdin #stdout 0s 5320KB
stdin
8 2 4
2 1 4 3 2 1 1 4
stdout
3