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.|

QUERM - Quermesse

Os alunos do último ano resolveram organizar uma quermesse para arrecadar fundos para a festa de formatura. A festa prometia ser um sucesso, pois o pai de um dos formandos, Teófilo, dono de uma loja de informática, decidiu doar um computador para ser sorteado entre os que comparecessem. Os alunos prepararam barracas de quentão, pipoca, doces, ensaiaram a quadrilha e colocaram à venda ingressos numerados sequencialmente a partir de 1. O número do ingresso serviria para o sorteio do computador. Ficou acertado que Teófilo decidiria o método de sorteio; em princípio o sorteio seria, claro, computadorizado.

O local escolhido para a festa foi o ginásio da escola. A entrada dos participantes foi pela porta principal, que possui uma roleta, onde passa uma pessoa por vez. Na entrada, um funcionário inseriu, em uma lista no computador da escola, o número do ingresso, na ordem de chegada dos participantes. Depois da entrada de todos os participantes, Teófilo começou a trabalhar no computador para preparar o sorteio. Verificando a lista de presentes, notou uma característica notável: havia apenas um caso, em toda a lista, em que o participante que possuia o ingresso numerado com i, havia sido a i-ésima pessoa a entrar no ginásio. Teófilo ficou tão encantado com a coincidência que decidiu que o sorteio não seria necessário: esta pessoa seria o ganhador do computador.

Tarefa

Conhecendo a lista de participantes, por ordem de chegada, sua tarefa é determinar o número do ingresso premiado, sabendo que o ganhador é o único participante que tem o número do ingresso igual à sua posição de entrada na festa.

Entrada

A entrada é composta de vários conjuntos de teste. A primeira linha de um conjunto de teste contém um número inteiro positivo N que indica o número de participantes da festa. A linha seguinte contém a sequência, em ordem de entrada, dos N ingressos das pessoas que participaram da festa. O final da entrada é indicado quando N = 0. Para cada conjunto de teste da entrada haverá um único ganhador.

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 do ingresso do ganhador, 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.

Exemplo

Entrada:
4
4 5 3 1
10
9 8 7 6 1 4 3 2 12 10
0

Saída:
Teste 1
3

Teste 2
10

Restrições

0 <= N <= 10000 (N = 0 apenas para indicar o fim da entrada)


Adicionado por:Wanderley Guimarăes
Data:2006-04-19
Tempo limite:0.200s
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 2000

hide comments
2012-12-04 12:30:52 victor bartels


Last edit: 2012-12-04 12:31:49
2012-08-29 01:50:10 Gustavo Fernandes [FATEC-AM]
Lembrem-se das exigencias que o programa pede.. o meu estava com um erro antes por causa da impressăo de uma linha em branco.
2012-08-24 19:22:27 Ramon Nunes Teixeira [UNISUL]
Testei com as entradas e saidas das olimpiadas tudo certo, porem no spoj cisma que a resposta está errada. =\
2012-07-19 22:34:22 Cristhian [UTFPR]
o teste está correto Bruno, visto que o terceiro a entrar pegou o bilhete número 3, e venceu o sorteio.
2011-12-10 02:27:14 Bruno Coronha Gonçalves
a primeira saida
Teste 1
3

năo seria 4?

fiz aqui e funciona com outros valores.
2011-09-15 16:58:15 Jhonymax
#include <stdio.h>

int main(int argc, char* argv[])
{
int n,i,num,cont=1;
while(scanf("%d",&n) &&n){
for(i=1;i<=n;i++){
scanf("%d",&num);
if(i==num){
printf("Teste %d\n%d\n\n",cont++,num);
}
}

}
return 0;
}
2011-07-18 18:48:43 maicon casarotto
aki o meu codigo ele so da tempo limite exedido alguem pode me ajuda!

#include <iostream>
#include <stdio.h>

int main()
{
int N, NI, I;

while(N != 0)
{
scanf("%d", &N);
for(I = 1; I <= N; I++)
{
scanf("%d", &NI);
if(NI == I)
{
printf("%d", I);
break;
}
}
}
return 0;
}
2011-06-26 22:22:32 Leandro Simões
O meu tava dando o erro "tempo limite excedido", compilei no IDEONE com as entradas de exemplo e retornou as mesmas saídas corretamente, porém meu código tinha um problema, minha restriçăo era para N <= 1000, quando na verdade é para N <= 10000. Corrigi isso e funcionou perfeitamente.
2011-06-26 22:08:09 guilherme
năo estou entendendo onde está ocorrendo erro, faço a simulaçăo e o resultado sai certo
2011-06-22 15:15:37 LST [UFSCar]
@Samuel, a idéia é que a saída seja apresentada após cada caso de teste, e năo toda junta ao final.
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.