Numa das muitas propriedades das Olimpíadas Nacionais de Informática há uma cerca a proteger a entrada. Esta cerca pode ser vista como um conjunto de N blocos colocados em linha, onde cada bloco está pintado de uma cor que é representada por um inteiro entre 1 e K. Um segmento colorido é um conjunto maximal de blocos consecutivos que têm todos a mesma cor. Sabe-se que cada segmento tem uma cor distinta, ou seja, não há dois segmentos com a mesma cor.
São dadas as cores dos N blocos. Determina o número de segmentos.
Se N = 10, K = 10 e tivermos as seguintes cores:
Então há quatro segmentos:
São garantidos os seguintes limites em todos os casos de teste desta parte que irão ser colocados ao programa:
1 ≤ N ≤ 100 000 | Número de blocos | |
1 ≤ K ≤ 100 000 | Número de cores |
Os casos de teste desta parte do problema estão organizados num grupo:
Grupo | Número de Pontos | Restrições adicionais |
---|---|---|
1 | 25 |
Para melhorar o aspeto da cerca, queremos repintar a cerca de forma a que o número de segmentos da cerca resultante seja no máximo X. Porém, pintar um bloco é custoso, por isso queremos minimizar o número de blocos que repintamos. Determina o número mínimo de blocos que precisamos de pintar.
Se N = 10, K = 10 e X = 2 e tivermos as seguintes cores:
Podemos repintar os blocos da seguinte forma para obter uma cerca com apenas 2 segmentos:
Neste caso só repintámos 3 blocos e não há forma de repintar menos, logo a resposta é 3.
São garantidos os seguintes limites em todos os casos de teste desta parte que irão ser colocados ao programa:
1 ≤ N ≤ 100 000 | Número de blocos | |
1 ≤ K ≤ 100 000 | Número de cores | |
1 ≤ X ≤ N | Número de segmentos objetivo |
Os casos de teste desta parte do problema estão organizados em dois grupos:
Grupo | Número de Pontos | Restrições adicionais |
---|---|---|
2 | 35 | N ≤ 1 000 |
3 | 40 |
Os casos de teste do problema estão organizados em 3 grupos com restrições adicionais diferentes:
Grupo | Número de Pontos | Parte | Restrições adicionais |
---|---|---|---|
1 | 25 | Parte I | |
2 | 35 | Parte II | N ≤ 1 000 |
3 | 40 | Parte II |
A primeira linha contém um inteiro P, que representa a parte que o caso de teste representa. Se for 1, então o caso de teste refere-se à Parte I, se for 2 então refere-se à Parte II.
Na Parte I, segue-se uma linha com dois inteiros N, representando o número de blocos, e K, representando o número de cores.
Na Parte II, segue-se uma linha com três inteiros N, representando o número de blocos, K, representando o número de cores, e X, representando o número de segmentos objetivo.
Seguem-se um linha com N inteiros, que representam as cores da cerca.
O output deve conter uma linha contendo o número de segmentos.
O output deve conter uma linha contendo o número mínimo de blocos a repintar.
1 10 10 3 3 6 6 6 6 1 4 4 4
4
Este exemplo corresponde ao exemplo mencionado no enunciado da Parte I.
2 10 10 2 3 3 6 6 6 6 1 4 4 4
3
Este exemplo corresponde ao exemplo mencionado no enunciado da Parte II.