Saiu há alguns dias, para tristeza de alguns fãs e alívio de outros, o último dos N episódios da famosíssima série "Onde Ninguém Imagina". No ONIb, o mais conhecido site de avaliações de séries e filmes, cada episódio recebeu uma nota Ai que é um inteiro positivo onde nenhuns dois episódios da série tiveram a mesma nota.
O ONIb quer implementar uma funcionalidade que permite aos seus utilizadores, selecionando um dado episódio, descobrir a nota do melhor episódio que ainda assim foi pior do que o selecionado, entre os K anteriores e os K seguintes. Consegues escrever a lista das N avaliações que o site devia disponibilizar ao selecionar cada um dos N episódios?
Caso nenhum dos episódios anteriores ou seguintes seja pior que o selecionado, então a nota para esse caso será -1.
Vamos supor que N = 4, K = 2 e as notas obtidas foram A = (21, 73, 37, 258).
São garantidos os seguintes limites em todos os casos de teste desta parte que irão ser colocados ao programa:
1 ≤ N ≤ 105 | Número de Episódios | |
1 ≤ K ≤ N | Tamanho do intervalo | |
1 ≤ Ai ≤ 109 | Nota de cada episódio |
Os casos de teste desta parte do problema estão organizados em 2 grupos com restrições adicionais diferentes:
Grupo | Número de Pontos | Restrições adicionais |
---|---|---|
1 | 10 | 1 ≤ N, K ≤ 100 |
2 | 30 |
O ONIb disponibiliza, para cada série, uma avaliação geral que é a mediana das avaliações das suas temporadas. A nota de cada temporada é nada mais nada menos que a mediana das notas dos episódios dessa temporada. Se o número de episódios de uma série for par, então a mediana é o máximo dos dois elementos medianos é a mediana da série.
Nota: A mediana de uma lista de números de tamanho ímpar é o número que é menor ou igual a metade dos números restantes e maior ou igual à outra metade. No caso de uma temporada ter tamanho par, dizemos que a sua mediana é o maior dos dois valores medianos.
Os criadores da série já há muito tinham afirmado que iam lançar K temporadas (sendo que K é sempre ímpar), mas nunca disseram onde começava e acabava cada uma. Consegues ajudá-los a organizar os episódios por temporadas de forma a maximizar a avaliação da série no ONIb?
Vamos supor que N = 5, K = 3 e as notas obtidas foram A = (21, 73, 37, 258, 38).
Se considerarmos a partição [21,73],[37], [258, 38] obtemos as notas por temporada de [73, 37, 258]. Como tal devemos imprimir a mediana das medianas, ou seja, a mediana de [73, 37, 258], que é 73. Esta é a melhor partição possível.
São garantidos os seguintes limites em todos os casos de teste desta parte que irão ser colocados ao programa:
1 ≤ N ≤ 500 | Número de Episódios | |
1 ≤ K ≤ N, sempre ímpar | Número de séries | |
1 ≤ Ai ≤ 109 | Nota de cada episódio |
Os casos de teste desta parte do problema estão organizados em 2 grupos com restrições adicionais diferentes:
Grupo | Número de Pontos | Restrições adicionais |
---|---|---|
3 | 30 | 1 ≤ N, K ≤ 50 |
4 | 30 |
Os casos de teste do problema estão organizados em 4 grupos com restrições adicionais diferentes:
Grupo | Número de Pontos | Parte | Restrições adicionais |
---|---|---|---|
1 | 10 | Parte I | 1 ≤ N, K ≤ 100 |
2 | 30 | Parte I | |
3 | 30 | Parte II | 1 ≤ N, K ≤ 50 |
4 | 30 | Parte II |
Nota: O formato de input é o mesmo para as duas partes.
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.
Segue-se uma linha com dois inteiros separados por espaços N, representando o número de episódios, e K, o tamanho do intervalo na Parte I ou o número de séries na Parte II (que é sempre ímpar).
Segue-se uma linha com N inteiros separados por espaços, as notas de cada episódio.
O output deve conter uma só linha com N inteiros separados por espaços, as notas para cada episódio.
O output deve conter uma só linha com um inteiro, a maior mediana de medianas.
1 4 2 21 73 37 258
-1 37 21 73
Este exemplo corresponde ao exemplo da Parte I mencionado no enunciado.
2 5 3 21 73 37 258 38
73
Este exemplo corresponde ao exemplo da Parte II mencionado no enunciado.