PascalABC.NET 3.3.5, сборка 1660 от 20.04.2018
Внимание! Если программа не работает, обновите версию!
begin
var a:=ArrRandom(ReadInteger('n='),-50,50); a.Println;
var b:=ArrRandom(ReadInteger('n='),-50,50); b.Println;
var sp:=b.Where(t->t>0).Sum;
var im:=a.IndexMax;
if im>0 then begin a:=ArrFill(im,sp)+a[im:]; a.Println end
else Writeln('Максимальный элемент стоит первым')
end.
Пример
n= 15
-34 -10 30 16 -36 35 10 39 21 50 29 -41 4 25 -28
n= 13
-36 -6 -3 5 -34 -19 -35 -23 2 49 -8 24 -3
80 80 80 80 80 80 80 80 80 50 29 -41 4 25 -28