Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

PENTA - Penta!

O técnico Luiz Felipe Scolari (Felipão) foi um dos grandes responsáveis pela conquista do quinto título brasileiro na Copa do Mundo. Contrariando muitos críticos, alterou o esquema tático do time, apostou em jogadores que não tinham garantida uma boa condição física para o torneio, e administrou com um misto de rigor e paternalismo as personalidades muitas vezes difíceis dos jogadores. Estrategista competente, Felipão planejou meticulosa e longamente toda a campanha.

Felipão planejou até mesmo o desfile em carro aberto do Corpo de Bombeiros, na volta da seleção ao país. Tendo recebido a informação que o local mais alto do carro possibilitava apenas a permanência de um número limitado de jogadores, e sabendo que os jogadores iriam querer estar o maior tempo possível no palanque, Felipão determinou, para cada quarteirão do percurso, qual jogador necessariamente deveria estar presente no palanque. No primeiro quarteirão Beletti deveria estar presente no palanque, no segundo quarteirão Cafu, no terceiro quarteirão Denílson, no quarto Edmilson, e assim por diante. No entanto, ele não determinou qual jogador presente ao palanque deveria descer para dar lugar ao novo jogador, quando o palanque estivesse com sua lotação máxima. Como subir e descer do palanque é cansativo (e mesmo um tanto arriscado, considerando a altura), os jogadores decidiram procurar a sua ajuda para descobrir como obedecer às ordens do técnico quanto à permanência do jogador no palanque no momento estipulado, mas de forma a minimizar a troca de jogadores no palanque.

Tarefa

Com o dinheiro recebido como prêmio pela conquista da Copa do Mundo os jogadores decidiram contratar os seus serviços. Você deve escrever um programa que determine o número mínimo de trocas de jogadores no palanque, conhecendo a lista formulada por Felipão.

Considere que inicialmente o palanque está vazio, e, até chegar à sua lotação máxima, um novo jogador sobe sem que nenhum outro desça (ou seja, não ocorre troca). Quando o palanque está com lotação máxima, antes que um jogador possa subir um outro deve descer (caracterizando uma troca). Os jogadores sempre desejam permanecer no palanque o maior tempo possível (ou seja, nenhum desce sem que haja necessidade de um novo jogador ascender ao palanque).

Entrada

A entrada é composta de vários conjuntos de teste. A primeira linha de um conjunto de teste contém dois números inteiros N e P, que indicam respectivamente o número de quarteirões do trajeto e o número de jogadores que cabem simultaneamente no palanque do Carro de Bombeiros. Os jogadores são identificados por inteiros de 1 a 23. As N linhas seguintes contêm cada uma um inteiro positivo J, indicando o jogador que deve estar presente no palanque no N-ésimo quarteirão do trajeto. O final da entrada é indicado quando N = P = 0.

Saída

Para cada conjunto de teste da entrada seu programa deve produzir três linhas. A primeira linha identifica o conjunto de teste, no formato “Teste n”, onde n é numerado a partir de 1. A segunda linha deve conter o número mínimo de trocas de jogadores, conforme determinado pelo seu programa. A terceira linha deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida rigorosamente.

Exemplos

Entrada:
4 2
1
2
3
1  
13 3
10
23
10
11
7
8
23
11
9
10
5
7
11
0 0

Saída:
Teste 1
1

Teste 2
6

Restrições

0 ≤ N ≤ 10000 (N = 0 apenas para indicar o fim da entrada)
0 ≤ P ≤ N (P = 0 apenas para indicar o fim da entrada)
1 ≤ J ≤ 23


Adicionado por:Wanderley Guimarăes
Data:2006-04-29
Tempo limite:1s
Tamanho do fonte:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Linguagem permitida:Todas exceto: ASM64 CLOJURE ERL FSHARP JS-RHINO NODEJS PERL6 PY_NBC SCALA TCL VB.NET
Origem:Olimpiada Brasileira de Informatica 2002 - Seletiva

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.