Объединение амулетов

Для решение данной задачи будем пользоваться тем фактом, что $$$\mathtt{gcd}$$$ меняется не более $$$\log A$$$ раз, где $$$A$$$ — максимальное значение из $$$a_i$$$. Тогда найдем префиксные и суффиксные $$$\mathtt{gcd}$$$, обозначим их за $$$p_i$$$ и $$$s_i$$$ соответственно.

Разделим подсчет итоговой суммы $$$\mathtt{gcd}$$$ на 3 этапа:

  1. Отрезок $$$[1, n]$$$, для нахождения ответа необходимо посчитать с помощью нахождения $$$\mathtt{lcm}$$$ всего массива. Это можно сделать с помощью решета Эратосфена и разложения на простые каждого элемента;

  2. Отрезки $$$[i, j]$$$, такие что $$$p_i = p_{i+1}$$$ и $$$s_{j-1} = s_j$$$. Ответом для таких отрезков будет являться $$$\mathtt{gcd}(p_i, s_j)$$$, так как $$$\mathtt{lcm}$$$ точно будет делиться на $$$\mathtt{gcd}(p_i, s_j)$$$, а итоговый $$$\mathtt{gcd}$$$ не может превосходить этого значения. Такие отрезки можно посчитать быстро, если заранее знать позиции, в которых меняется $$$p_i$$$ и $$$s_j$$$;

  3. Остальный отрезки, а именно такие $$$[i, j]$$$, что $$$p_i \neq p_{i+1}$$$ или $$$s_{j-1} \neq s_j$$$, так как $$$\mathtt{gcd}$$$ меняется не более $$$\log A$$$ раз, то таких отрезков будет не более $$$O(n \log n)$$$. И тогда их можно посчитать честным проходом по массиву.

Итоговый ответ будет состоять из суммы все данных 3-х типов отрезков.