ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Обсуждение задачи 1306. Медиана последовательности

Help me! I made heap sort, but I have WA on test 1!!!
Послано snake 19 июн 2004 18:56
{$APPTYPE CONSOLE}
{$N+}
const
maxn=250000;
var
m:array[0..maxn] of longint;
size,i:longint;
res:extended;

procedure downHeap(k,n:longint);
var newel,child:longint;
begin
newel:=m[k];
while(k<=n) do begin
child:=2*k+1;
if(child<n)and(m[child]<m[child+1]) then inc(child);
if(newel>=m[child])or(child>n) then break;
m[k]:=m[child];
k:=child;
end;
m[k]:=newel;
end;

procedure heapsort;
var t,i:longint;
begin
for i:=(size div 2) downto 0  do downHeap(i,size-1);

i:=size;
while(i>=1) do begin
dec(i);
t:=m[i];
m[i]:=m[0];
m[0]:=t;
downHeap(0,i-1);
end;
end;

begin

readln(size);
for i:=0 to size-1 do
readln(m[i]);
heapsort;
if size mod 2=0 then res:=(m[size div 2]+m[size div 2 -1])/2 else res:=m[size div 2 -1];
write(res:0:1);
end.
ft...
Послано Future 29 авг 2004 10:00
faint....I submitted a wrong problem....now it's wa5

Edited by author 29.08.2004 10:03