Вставка элементов в массив (помогите с алгоритмом)

Дан массив n элементов, поставить перед каждым отрицательным элементо элемент, который равен сумме предыдущих элементов!
1 ответ

Код на делфи:
index:=1;
Summa:=A[0];
repeat

 if A[index]<0 then
 begin
 SetLength (A, Length(A)+1);
 for i:=(Length(A)-1) downto (index+1) do //сдвиг элементов вправо
 A[i]:=A[i-1];
 A[index]:=Summa; //вставка суммы
 Summa:=Summa+A[index]+A[index+1];
 index:=index+2;
 end
 
 else
 index:=index+1;
until (index>=Length(A)); //выход из цикла если больше элементов нет