Voltar

uCoder | 1008 | Nível: 3 | Tempo Limite: 10

Banheiro!

Adaptado por erich.rodriguesf

Competição: Interfatecs 2014 1ª fase


Billy é o cara. Ele é famoso na noite carioca. Ele é muito conhecido por organizar festas, eventos e shows pela noite a fora.

Mesmo já trabalhando neste ramo a mais de 10 anos ele sempre tem dificuldade de dimensionar o número de banheiros femininos e masculinos que devem ser disponibilizados para que as pessoas não esperem muito e o pior aconteça ali na fila mesmo.

Ele sabe que em alguns eventos as pessoas demoram mais que em outros e calculou uma média de tempo para cada tipo de evento. Com essa informação, ele criou uma tabela com os dados, mostrada a seguir.

 

 

 

Evento

Tempo médio - Homem

Tempo médio - Mulher

Proporção homens (H) e mulheres (M)

Aniversário (A)

3

10

1H para cada 2M

Casamento (C)

5

15

1H para cada 3M

Show (S)

1

5

2H para cada 1M

 

 

 

Como ele dorme o dia todo e trabalha todas as noites, pediu pra você, um amigo que sempre quer ganhar cortesia das festas dele, criar um programinha que faça esse cálculo.

O problema consiste em descobrir em quanto tempo e qual banheiro uma certa pessoa da fila vai ocupar baseando-se no tempo médio que cada pessoa leva no banheiro. Suponha que sempre a primeira pessoa da fila é um homem. No caso de um aniversário, por exemplo, a fila poderia ser composta de: H, M, M, H, M, M, e assim por diante. As B primeiras pessoas da fila tem tempo de espera 0 (zero), onde B é o número de banheiros disponíveis no evento.

Por exemplo, suponha que o evento seja um casamento e o salão tenha dois banheiros (B=2), 1 e 2. Suponha que a pessoa número 35 na fila queira saber quanto tempo ela vai demorar pra entrar no banheiro. A pessoa na posição 1 da fila (homem) irá ocupar o banheiro 1 e a pessoa na posição 2 (mulher) irá ocupar o banheiro 2. Depois de 5 minutos a pessoa de número 3 da fila (mulher) ocupará o banheiro 1. Mais adiante depois de mais 10 minutos (total de 15, pois era mulher em um casamento) o homem que ocupa a quarta posição da fila irá para o banheiro 2, e assim por diante.

Caso dois ou mais banheiros fiquem vazios ao mesmo tempo, a primeira pessoa da fila deve seguir para o banheiro livre de menor número, e os outros respectivamente.


Entrada

As primeiras informações a serem lidas são: B que é a quantidade de banheiros (0 < B < 100) e T o tipo do evento (A, C ou S) em uma linha. Ambos estão separados por um espaço em branco. Quando for lido um número de banheiros (B) igual a zero, deve-se parar de ler as entradas.

Depois tem-se um número N (0 < N < 1000) que corresponde ao número de consultas que serão feitas. Cada consulta representa uma pergunta referente a quanto tempo a pessoa esperará e qual banheiro ela usará. Na próxima linha, tem-se N posições P (0 < Pn < 1000) de pessoas separadas por um espaço em branco.


Saída

Para cada grupo de consultas deve ser impresso o texto “Consulta X:” onde X indica o número do grupo. Para cada posição de pessoa lida, deve-se imprimir, em cada linha, quanto tempo em minutos a pessoa deve esperar para ocupar o banheiro, qual banheiro vai usar e se é um Homem (H) ou uma Mulher (M). Todos os números são inteiros e são separados por um espaço em branco.


Exemplo de Entrada Exemplo de Saída

2 C
9
1 2 3 4 5 6 7 8 9
3 S
4
3 56 88 12
1 A
5
22 38 1 15 105
0

Consulta 1:
0 1 H
0 2 M
5 1 M
15 2 M
20 1 H
25 1 M
30 2 M
40 1 M
45 2 H
Consulta 2:
0 3 M
41 1 H
65 3 H
7 1 M
Consulta 3:
161 1 H
279 1 M
0 1 H
105 1 M
795 1 M