Início Inscrições Informações Gerais Regulamento Pratique Contato Mapa do Conteúdo

 Você está visitando: Início > Olimpíada Brasileira de Informática > Pratique > Modalidade Programação >
                                            > Nível 2

Imposto

Uma construtora especializada em condomínios de alto padrão está desenvolvendo o projeto de um condomínio ao redor de um lago. As casas serão construídas em lotes de tamanhos distintos, mas todos os lotes serão às margens do lago. Adicionalmente, cada lote terá exatamente dois vizinhos no condomínio: um à esquerda e um à direita.


Projeto indicando os tamanhos dos lotes (em unidades de área) no novo condomínio.

As terras ao redor do lago pertencem à companhia, e esta deve dividir as terras em lotes. No entanto, a prefeitura da cidade tem uma regra curiosa sobre partilha de terra, de forma a desencorajar a formação de lotes pequenos:

1) terrenos podem ser dividos usando uma seqüência de divisões de terras;
2) uma operação de divisão de terra divide um terreno em exatamente duas partes;
3) para cada operação de divisão de terra, um imposto de divisão de terra deve ser pago.

Denotando por T a área do maior terreno resultante de uma divisão de terra, o valor do imposto de divisão a ser pago é T × A, onde A é a alíquota do imposto de divisão de terras, estabelecida anualmente pela prefeitura. Note que devido à regra (2), para dividir um terreno em N lotes, N-1 operações de divisão de terra devem ser efeturadas, de forma que N-1 pagamentos devem ser feitos para a prefeitura.

Por exemplo, considerando a figura acima, se a alíquota de divisão é 2,50, e a primeira divisão separa o lote de 500 unidades de área dos lotes remanescentes, o imposto de divisão de terra a ser pago por esta primeira divisão é 2,50 × (100 + 300 + 200 + 100 + 100). Se a divisão de terra seguinte separar o conjunto formado pelo lote de 300 unidades e pelo lote de 100 unidades dos lotes remanescentes, um imposto adicional de 2,50 × (100 + 100) deve ser pago, e assim por diante. Note ainda que algumas divisões de terra não são possíveis, devido à regra (2). Por exemplo, após a primeira divisão de terra mencionada no exemplo acima, não é possível efetuar uma divisão de terras para separar o conjunto formado pelo lote de 300 unidades e pelo lote de 200 unidades dos demais lotes, pois mais de duas partes resultariam desta divisão.

Tarefa

Dados o valor corrente da alíquota do imposto de divisão e as áreas de todos os lotes ao redor do lago, você deve escrever um programa para determinar o menor valor total possível a ser pago como imposto de divisão de terras de modo a dividir as terras de acordo com o projeto do condomínio.

Entrada

A entrada é composta de vários casos de teste. A primeira linha de um caso de teste contém um número inteiro N e um número real A, indicando respectivamente o número de lotes (1 ≤ N ≤ 200) e a alíquota de divisão (com precisão de dois dígitos, 0 < A ≤ 5.00). A segunda linha contém N inteiros X[i], representando as áreas de lotes contíguos no projeto de condomínio (0 < X[i] ≤ 500, com 1 ≤ i ≤ N); adicionalmente, X[k] é vizinho de X[k+1] para 1 ≤ k ≤ N-1, e X[N] é vizinho de X[1]. O final da entrada é indicado por N = A = 0.

Os dados de entrada devem ser lidos da entrada padrão (teclado)

Exemplo de entrada

4 1.50
2 1 4 1
6 2.50
300 100 500 100 100 200
0 0

Saída

Para cada conjunto de teste da entrada seu programa deve produzir três linhas na saída. A primeira linha deve conter um identificador do conjunto de teste, no formato "Teste n", onde n é numerado a partir de 1. A segunda linha deve conter o valor total mínimo do imposto de divisão, como um número real com precisão de dois dígitos. A terceira linha deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida rigorosamente.

A saída deve ser feita na saída padrão (tela)

Exemplo de saída

Teste 1
13.50
Teste 2
4500.00

Restrições

0 ≤ N ≤ 200 (N = 0 apenas para indicar o fim da entrada)
0 < A ≤ 5.0 (A = 0 apenas para indicar o fim da entrada)

Apoio: Unicamp Patrocínio: Fundação Carlos Chagas Promoção: SBC