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

LUA - Temperatura Lunar

Sem as proteções da atmosfera e do cinturão magnético que existem na Terra, a Lua fica exposta ao ataque do Sol, que é um astro em constante explosão atômica. As explosões do Sol emitem ondas letais de partículas. Uma pessoa que ficasse desprotegida na superfície da Lua, num lugar onde o Sol incidisse diretamente, sofreria um bombardeio radioativo tão intenso quanto se estivesse nas imediações da usina russa de Chernobyl no momento do acidente que matou 31 pessoas, em 1986. Além da radiação solar, outro efeito desta falta de proteção contra o Sol que existe na Lua é a enorme variação de temperatura. Nas regiões próximas do equador lunar, a variação de temperatura é brutal, passando de cerca de 130 graus positivos durante o dia a 129 graus negativos à noite.

Para estudar com mais precisão as variações de temperatura na superfície da Lua, a NASA enviou à Lua uma sonda com um sensor que mede a temperatura de 1 em 1 minuto. Um dado importante que os pesquisadores desejam descobrir é como se comporta a média da temperatura, considerada em intervalos de uma dada duração (uma hora, meia hora, oito horas, etc.). Por exemplo, para a seqüência de medições 8, 20, 30, 50, 40, 20, -10, e intervalos de quatro minutos, as médias são respectivamente 108/4=27, 140/4=35, 140/4=35 e 100/4=25.

Tarefa

Você foi recentemente contratado pela NASA, e sua primeira tarefa é escrever um programa que, conhecidos a seqüência de temperaturas medidas pelo sensor, e o tamanho do intervalo desejado, informe qual a maior e qual a menor temperatura média observadas, considerando o tamanho do intervalo dado.

Entrada

A entrada é composta de vários conjuntos de teste. A primeira linha de um conjunto de teste contém dois números inteiros positivos N e M, que indicam respectivamente o número total de medições de temperatura de uma seqüência obtida pelo sensor, e o tamanho dos intervalos, em minutos, em que as médias devem ser calculadas. As N linhas seguintes contêm um número inteiro cada, representando a seqüência de medidas do sensor. O final da entrada é indicado quando N = M = 0.

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 dois números inteiros X e Y, separados por ao menos um espaço em branco, representando respectivamente os valores da menor e da maior média de temperatura, conforme determinado pelo seu programa. O valor da média deve ser truncado, se a média não for um número inteiro (ou seja, deve ser impressa apenas a parte inteira). A terceira linha deve ser deixada em branco. A grafia mostrada no Exemplo de Saída, abaixo, deve ser seguida rigorosamente.

Exemplo

Entrada:
4 2
-5
-12
0
6
7 4
35
-35
5
100
100
50
50
0 0

Saída:
Teste 1
-8 3

Teste 2
26 75

Restrições

0 <= N <= 10000 (N = 0 apenas para indicar o fim da entrada)
-200 <= Temperatura <= 200
1 <= M <= N


Adicionado por:Wanderley Guimarăes
Data:2006-04-20
Tempo limite:0.156s
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 2002

hide comments
2014-06-20 14:43:44 Thiago Barbosa de Souza
Fiz vários testes e o resultado bate, mas só dá resposta errada, o que posso estar deixando passar?

Last edit: 2014-06-20 14:44:14
2013-04-30 17:26:31 Arthur Lustosa de Souza
Fiz em python 2.7, o programa funciona aqui em casa, fiz varios testes só dá resposta errada
2012-11-14 06:10:26 Monael
Alguém poderia rever esse exercício?
Testei com todos os 10 arquivos disponíveis no site da OBI e todos os testes batem com meu programa. Mas aqui dá Resposta Errada.
2012-10-17 02:41:58 Monael
O problema de limite de tempo excedido neste problema, pode ser por conta do cálculo da média. Vocę năo precisa refazę-lo a cada iteraçăo, basta diminuir o primeiro e adicionar o próximo. Exemplo: n=5 [10 5 3 2 10] e M = 3. Na primeira iteraçăo vocę tem 10+5+3 = 18 e média = 6. Na segunda iteraçăo năo precisa recalcular a média toda, basta diminuir 10 e adicionar 2. Assim terá, 18-10 = 8, 8+2 = 10 <==> 5+3+2 = 10 e a média agora é 10/3.
2012-10-11 17:44:14 [deleted]
Sendo a o intervalo...por favor...achem uma entrada que quebre com o meu programa...pois năo acho erro mais ele fica dando resposta errada..
for(i=0;i<n;i++)
{
scanf("%f",&num[i]);
in=num[k];
med+=num[i];
if(i+1>=a)
{
if(i+1==a || (med/a)>=maior)
maior=(med/a);
if(i+1==a || (med/a)<=menor)
menor=(med/a);
med-=in;
k++;
}

}
2012-07-19 21:21:32 Alexandre Barbosa [IF-UFG]
Alguém tem ideia de como ele calcula o tempo de execuçăo, a quantidade de dados de entrada, etc?
2012-06-29 01:13:53 Alan
em Java nao da! melhorei p c* meu algoritmo, tentei de toas formas, mas da TLE,... o mesmo codigo passa em C. O java é lento demais pra esse programa
2012-06-25 02:03:21 [deleted]
Pra começar, que C é uma linguagem mais rápida mesmo...

quanto ao Marco:
Os exemplos săo casos triviais, os casos que o programa tem que resolver durante os testes oficiais săo bem mais complexos.

Vocę tem que diminuir a complexidade do programa.
2011-09-27 02:10:11 Thiago Espinhara [UFRPE]
gente.. submeti o problema em JAVA e deu resposta errada! Daí quando submeti o mesmo algoritmo em C, foi aceito! Năo tinha diferença nenhuma! E năo foi problema de entrada/saída! Pq isso?
2010-10-26 21:58:03 Matheus Araújo


Last edit: 2011-02-22 20:06:24
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.