V11WATER - Nước đọng
Tác giả: ladpro98
Ngôn ngữ: Pascal
program v11water;
uses math;
var a,m1,m2:array[0..123456] of longint;
n:longint;
res:int64;
procedure input;
var inp:text;
i:longint;
begin
assign(inp,'');
reset(inp);
readln(inp,n);
for i:=1 to n do
read(inp,a[i]);
close(inp);
end;
procedure init;
var i:longint;
begin
m1[1]:=a[1];
for i:=2 to n do m1[i]:=max(m1[i-1],a[i]);
m2[n]:=a[n];
for i:=n-1 downto 1 do m2[i]:=max(m2[i+1],a[i]);
end;
procedure calc;
var i,m:longint;
begin
for i:=2 to n-1 do
begin
m:=min(m1[i-1],m2[i+1]);
if m>a[i] then
res:=res+m-a[i];
end;
end;
begin
input;
init;
calc;
write(res);
end.