program music;
Uses Math;
const
    MAXN = 500000;

var
    N, i, ricordaid : LongInt;
    maxIm,U :Int64;
    C,C1,C2        : Array[0..MAXN-1] of Int64;
     

begin
{
    uncomment the two following lines if you want to read/write from files
    assign(input,  'input.txt');  reset(input);
    assign(output, 'output.txt'); rewrite(output);
}

    ReadLn(N);

    for i:=0 to N-1 do
        Read(C[i]);
    ReadLn();

    U := 0; maxIm:=0;
   C1[0]:=0; C2[0]:=0; C1[N-1]:=0; C2[N-1]:=0;
   for i:=1 to N-1 do begin C1[i]:=max(0, C[i-1]-C[i]); if C1[i]>maxIm then maxIm:=C1[i]; end;
   for i:=1 to N-2 do C2[i]:=max(0, C[i-1]-C[i+1]);
   for i:=0 to N-1 do if (C1[i]>C2[i]) and (C1[i]=maxIm) then ricordaid:=i;
   for i:=ricordaid to N-1 do C[i]:=C[i+1];
   for i:=0 to N-2 do write(c[i],' '); writeln;
   for i:=0 to N-2 do U:=U+max (0,C[i-1]-C[i]);

    WriteLn(U);

end.