Изменения
→Псевдокод
        '''else'''
          ST[i][j] = ST[i][j - 1]
    <font color=green>// Посчитаем хеш тип для каждого блока {{---}} он будет являться типом блока</font>
    '''for''' i = 0 '''to''' K - 1 
    cur_block = 0
    j = 0
        cur_block++ 
      '''if''' j > 0 '''and''' (i <tex>\geqslant</tex> N '''or''' A[i - 1] < A[i])
      i++
      j++
          block_min[i][l][r] = -1 
    '''for''' i = 0 '''to''' K - 1
      t = type = hash[i]      '''if''' block_min[typet][0][0] = -1 <font color=green>// если там записано, что-то отличное от -1, то значит, мы уже посчитали ответ для такого типа отрезков</font>
        '''for''' l = 0 '''to''' block_size - 1
          block_min[typet][l][l] = l
          '''for''' r = l + 1 '''to''' block_size - 1
            block_min[typet][l][r] = block_min[typet][l][r - 1]            '''if''' i * block_size + r <tex>\leqslant </tex> N '''and''' A[i * block_size + block_min[typet][l][r]] > A[i * block_size + r]                block_min[typet][l][r] = r
  '''function''' block_RMQ(block_number: '''int''', l: '''int''', r: '''int'''): '''int'''
    '''return''' block_min[hashtype[block_number]][l][r] + block_number * block_size
  '''function''' RMQ(l: '''int''', r: '''int'''): '''int'''
