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:1s
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
2010-06-24 15:33:36 Anderson Akio Gohara (FIPP/UNOESTE)
semelhante ao problema do saldo de gols?
2010-04-29 22:14:23 Villela, Carvalho, Marega
limite de tempo atingido acontece geralmente porque seu programa entrou em um loop infinito. Talvez vc tenha colocado uma condiçăo incorreta para seu laço.

Last edit: 2010-04-29 22:15:19
2010-04-29 10:57:35 Rafael Rodrigues
ahhh encontrei
2010-04-27 23:49:27 Rafael Rodrigues
Qual o erro?No código?
2010-04-27 23:49:09 Rafael Rodrigues
Program TemperaturaLunar;
var
cont,n,m,i,j,soma:integer;
min,max,v:array[1..10000] of integer;

Begin
readln(n,m);
cont:=0;
while(n<>0) or (m<>0) do begin
cont:=cont+1;

for i:=1 to n do
readln(v[i]);
for i:=1 to m do
max[cont]:=max[cont]+v[i];

min[cont]:=max[cont];
for i:=2 to n-m+1 do begin
soma:=0;
for j:=i to i+m-1 do
soma:=soma+v[j];
if soma>max[cont] then max[cont]:=soma;
end;
if soma<min[cont] then min[cont]:=soma;
max[cont]:=trunc(max[cont]/m);
min[cont]:=trunc(min[cont]/m);
readln(n,m);

end;

for i:=1 to cont do begin
writeln('Teste ',i);
writeln(min[i],' ',max[i]);
writeln;

end;

End.
2010-04-05 01:11:37 Victor de Almeida Reinaldo[UECE]
acho que problema no vetor
2010-03-26 13:39:23 Maikel Andril Marcelino [UFRN]
geralmente o excesso de tempo he dado por q?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.