fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <cmath>
  5.  
  6. using namespace std;
  7.  
  8. #define all(v) ((v).begin()), ((v).end())
  9. #define sz(v) ((int)((v).size()))
  10. #define clr(v, d) memset(v, d, sizeof(v))
  11. #define rep(i, v) for(int i=0;i<sz(v);++i)
  12. #define lp(i, n) for(int i=0;i<(int)(n);++i)
  13. #define lpi(i, j, n) for(int i=(j);i<(int)(n);++i)
  14. #define lpd(i, j, n) for(int i=(j);i>=(int)(n);--i)
  15.  
  16. void fast_io()
  17. {
  18. ios_base::sync_with_stdio(false);
  19. cin.tie(nullptr);
  20. cout.tie(nullptr);
  21. }
  22.  
  23. int main()
  24. {
  25. fast_io();
  26. int n;
  27. cin >> n;
  28. int arr[n];
  29. int ranks[n] = {1};
  30. int rank = 1;
  31. for (int i = 0; i < n; i++){
  32. cin >> arr[i];
  33. if (i)
  34. if (arr[i] != arr[i-1])
  35. ranks[i] = ++rank;
  36. else
  37. ranks[i] = rank;
  38. }
  39.  
  40. int q;
  41. cin >> q;
  42. while(q--){
  43. int l = 0, r =0;
  44. cin >> l >> r;
  45. l--, r--;
  46. cout << ranks[r]-ranks[l]+1 << endl;
  47. }
  48. }
  49.  
Success #stdin #stdout 0.01s 5288KB
stdin
6
1 1 1 2 3 3
3
2 3
1 6
4 6
stdout
1
3
2