Cod sursa(job #585651)

Utilizator dragangabrielDragan Andrei Gabriel dragangabriel Data 30 aprilie 2011 10:42:51
Problema Avioane Scor 0
Compilator fpc Status done
Runda Algoritmiada 2011, Runda Finală, Clasele 5-9 Marime 0.81 kb
program avioane;
const max = 100000;
type list = array[1..Max] of longint;
var  data: List;
n,i,j,k,m:longint;
f,g:text;
s:int64;

procedure QuickSort(var A: List; Lo, Hi: longint);

procedure Sort(l, r: longint);
var i, j, x, y: longint;
begin
i := l; j := r; x := a[(l+r) DIV 2];
repeat
while a[i] < x do i := i + 1;
while x < a[j] do j := j - 1;
if i <= j then begin
y := a[i]; a[i] := a[j]; a[j] := y;
i := i + 1; j := j - 1;
end;
until i > j;
if l < j then Sort(l, j);
if i < r then Sort(i, r);
end;

begin {QuickSort};
Sort(Lo,Hi);
end;

begin {QSort}
assign(f,'avioane.in');
reset(f);
assign(g,'avioane.out');
rewrite(g);
readln(f,n);
for i:=1 to n do read(f,data[i]);
QuickSort(Data, 1,n);
for i:=n div 2 to n do s:=s+data[i];
{s:=s+data[n div 2-1];}
writeln(g,s);
close(g);
end.