uCoder | 1004 | Nível: 4 | Tempo Limite: 10
Será que dá, China?
Adaptado por erich.rodriguesf
Competição: Interfatecs 2014 1ª fase
China é um aluno muito popular na Fatec Mogi e possui um passado muito peculiar. Após trabalhar por mais de 10 anos como girador de pratos no Cirque du Soleil, ele resolveu largar tudo e cursar ADS na Fatec Mogi das Cruzes. Segundo boatos, ele se apaixonou pela mulher barbada, que acabou fugindo com o engolidor de espadas na turnê pela Nova Zelândia.
Para impressionar suas colegas, ele costuma fazer apresentações no intervalo entre aulas. Durante a apresentação, ele coloca um prato no topo de cada vareta (são várias) e vai girando um a um. Conforme ele vai se movendo e girando novos pratos, os que ele já girou vão perdendo força e ele tem que voltar rapidamente para que os pratos não parem de girar, caiam e quebrem.
Após uma análise minuciosa de gravações das suas apresentações, ele percebeu que o tempo em segundos (T) durante o qual os pratos giram antes de parar é proporcional à força aplicada (F) a cada prato, segundo a equação T = F * 2. Se, por exemplo, for aplicada uma força igual a 5, o prato girará por 10 segundos antes de parar. Quando ele gira um prato que ainda não parou de girar, o tempo durante o qual o prato irá continuar girando é igual ao tempo que ainda restava de giro somado ao tempo calculado pela fórmula já citada. Para aplicar uma força F em um prato qualquer, ele gasta um tempo (TG) em segundos igual a TG = F * 2.
Após girar com sucesso 10 pratos simultaneamente, China deseja saber qual é a maior quantidade de pratos que ele consegue girar sem quebrar nenhum. Ele não quer testar isso com seus pratos chineses e pediu sua ajuda para escrever um programa de computador que determina, a partir da alguns dados, se algum prato quebrará.
Entrada
A entrada é composta por vários casos de teste. A primeira linha de cada caso de teste contém dois números inteiros V (1 ≤ V ≤ 50) e TM (1 ≤ TM ≤ 10), representando o número de varetas e o tempo em segundos que ele leva para, logo que terminou de girar um prato, sair da vareta onde está e ir para outra logo ao lado. A próxima linha contém um número inteiro I (1 ≤ I ≤ V), representando a vareta onde ele estará logo que a apresentação iniciar. A linha seguinte contém um número inteiro N (1 ≤ N ≤ 100), que representa a quantidade de movimentos que ele pretende fazer. As próximas N linhas contêm dois números inteiros VV (1 ≤ VV ≤ V) e F (1 ≤ F ≤ 10), representando, respectivamente, a vareta para a qual ele vai se mover e a força que ele aplicará no prato da vareta logo que chegar lá. Os movimentos serão realizados em sequência, ou seja, logo após aplicar a força no prato da vareta especificada na primeira linha, ele se moverá para a vareta especificada na segunda linha e aplicará a força especificada, e assim por diante. A entrada é finalizada por uma linha com V e TM iguais a 0.
Saída
Para cada caso de teste, imprima “OK” se nenhum prato quebrar durante a sua apresentação. Caso algum prato venha a quebrar, especifique o segundo no qual o prato quebrará e qual será o prato quebrado por meio de dois números inteiros separados por um espaço em branco. Caso dois ou mais pratos quebrem ao mesmo tempo, especifique o prato com o menor número. Assuma que o tempo é contado a partir de 0.
Exemplo de Entrada | Exemplo de Saída |
---|---|
5 1 |
9 3 |