fork download
  1. #include <bits/stdc++.h>
  2. #define ll long long
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. ios::sync_with_stdio(false);
  9. cin.tie(nullptr), cout.tie(nullptr);
  10.  
  11. ll n, maximum=-1, minimum=INT_MAX;
  12. int min_dis=INT_MAX;
  13. cin >> n;
  14.  
  15. vector <ll> heights;
  16. vector <int> min_max;
  17.  
  18. for (ll i=0; i<n; i++) {
  19. ll d; cin >> d;
  20. heights.push_back(d);
  21.  
  22. if (d >= maximum)
  23. maximum = d;
  24. if (d <= minimum)
  25. minimum = d;
  26. }
  27.  
  28. for (ll i=0; i<n; i++) {
  29. if (heights[i] == minimum || heights[i] == maximum)
  30. min_max.push_back(i);
  31. }
  32.  
  33. bool x = true;
  34.  
  35. for (int i=1; i<min_max.size(); i++) {
  36. if (heights[min_max[i]] != heights[min_max[i-1]]) {
  37.  
  38. min_dis = min(min_dis, min_max[i]-min_max[i-1]);
  39. x = false;
  40.  
  41. }
  42. }
  43.  
  44. if (x)
  45. min_dis = 0;
  46.  
  47. cout << min_dis;
  48.  
  49.  
  50.  
  51. /*
  52. 9
  53. 2 1 3 4 8 2 1 4 5
  54.  
  55. 13
  56. 2 1 3 4 8 2 1 4 5 2 5 8 1
  57.   */
  58.  
  59. return 0;
  60. }
  61.  
Success #stdin #stdout 0.01s 5284KB
stdin
7
2 2 2 1 2 2 2
stdout
1