Brincando de consultas
Dabriel está brincando com seu array e por ser muito metódico pensou que sempre deveria saber qual a quantidade mínima de elementos que devem ser alterados para que um determinado subarray possua um valor . Em outras palavras, ele deseja poder realizar duas operações no seu array, são elas:
1 - Alterar o valor do elemento da posição X para o valor W;
2 - Informar qual a quantidade mínima de elementos que precisam ser alterados do intervalo [X, Y] para que todos os elementos possuam o valor W.
Entrada
A primeira linha contém dois inteiros N e Q (), que representa quantos elementos possui o array e quantas consultas Dabriel irá realizar. A segunda linha contém inteiros () que indica o valor da -ésima posição do array inicial. Nas próximas linhas irão conter as consultas, podendo ser: (1 ≤ X ≤ N, 1 ≤ W ≤ 105), indicando a operação de alteração e (1 ≤ X ≤ Y ≤ N, 1 ≤ W ≤ 105), indicando a operação de consulta.
Saída
Para cada operação do tipo 2, informe a quantidade de elementos que precisam ser alterados
Exemplos
ENTRADA |
SAÍDA |
4 4 1 2 3 4 2 1 2 2 2 1 2 3 1 2 1 2 1 2 2 |
1 2 2 |
Enviar solução: URI