// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('n=');
var a:=ArrRandom(n,-50,50); a.Println;
var (imax,half):=(a.IndexMax,n div 2);
if n.IsEven then // все хорошо
if imax>=half then begin
var sn:=a[half:].Where(t->t<0).Sum;<br> if sn=0 then Writeln('Во второй половине вектора нет отрицательных')
else Writeln('Сумма равна ',sn)
end
else Writeln('Среднее арифметическое равно ',a[:half].Average)
else // не учитывать средний
if imax=half then
Writeln('Максимальный элемент попал в неучитываемую точку')
else
if imax>half then begin
var sn:=a[half+1:].Where(t->t<0).Sum;<br> if sn=0 then Writeln('Во второй половине вектора нет отрицательных')
else Writeln('Сумма равна ',sn)
end
else Writeln('Среднее арифметическое равно ',a[:half].Average)
end.