Teste da Árvore de Segmentos
Lowrenzo está fazendo uma prova e se depara com o seguinte problema:
Você tem um vetor de $$N$$ elementos $$(1 \leq N \leq 10^5)$$, indexados de $$1$$ até $$N$$.
Existem $$M$$ $$(1 \leq M \leq 500 000)$$ operações que você precisa fazer.
Cada operações pode ser de uma das seguintes maneiras:
- $$C$$ $$x$$ $$v$$ – Muda o $$x$$-ésimo elemento do array para $$v$$.
- $$M$$ $$l$$ $$r$$ – Imprima o minimo de todos os elementos no intervalo $$l$$ até $$r$$, inclusive.
- $$G$$ $$l$$ $$r$$ – Imprima o MDC(Máximo Divisor Comum) de todos os elementos no intervalo $$l$$ até $$r$$, inclusive.
- $$Q$$ $$l$$ $$r$$ – Imprima a quantidade de números iguais ao resultado da operação $$G$$ $$l$$ $$r$$ entre todos os elementos no intervalo $$l$$ até $$r$$, inclusive.
Todos os elementos no vetor estão entre $$1$$ e $$10^9$$. Ajude Lowrenzo a resolver esse problema.
Entrada
A primeira linha da entrada contém dois inteiros $$N$$ e $$M$$. Na segunda linha da entrada temos $$N$$ inteiros, representando o array original. Cada uma das próximas $$M$$ linhas contém uma das operações que foram explicadas anteriormente.
Saída
Imprima a resposta para todas as operações do tipo $$M$$, $$G$$ e $$Q$$.
Exemplos
| ENTRADA | SAÍDA |
| 5 5
1 1 4 2 8 C 2 16 M 2 4 G 2 3 C 2 1 Q 1 5 |
2
4 2 |
| ENTRADA | SAÍDA |
| 5 2
1 1 2 2 2 Q 1 4 Q 3 5 |
2
3 |
Enviar solução: DMOJ
