program mountain;
Uses sysutils, Math;
const
MAXN = 100005;
var
ANS, N, i, j,h,w, maxMountainLength, lung : LongInt;
P, leftLIS, rightLIS : Array[0..MAXN-1] of LongInt;
rimossi : Ansistring;
rimosso: boolean;
begin
(*assign(input, 'input.txt'); reset(input);
assign(output, 'output.txt'); rewrite(output);*)
ReadLn(N);
rimossi:=''; lung:=N;
for i:=0 to N-1 do begin
Read(P[i]);
rimossi:=rimossi+IntTostr(P[i]);
end;
ReadLn();
rimosso:=false; w:=2; h:=1;
while h<5 do
begin
w:=2; rimosso:=false;
while w<lung do
begin
if (rimossi[w]<rimossi[w-1]) and (rimossi[w]<rimossi[w+1]) then
begin
delete(rimossi,w,1);
lung:=lung-1;
rimosso:=true;
end;
for i:=1 to lung do P[i-1]:=StrToInt(rimossi[i]);
ANS := 0;
(*leftLIS[i] stores the length of longest increasing subsequence ending at index i*)
(*rightLIS[i] stores the length of longest decreasing subsequence starting at index i*)
for i:=0 to lung-1 do begin leftLIS[i]:=1; rightLIS[i]:=1; end;
(*Calculate LIS from left to right for each position*)
for i := 1 to lung-1 do
for j:= 0 to i-1 do
begin
if (P[i] > P[j]) then leftLIS[i] := max(leftLIS[i], leftLIS[j] + 1);
end;
(* Calculate LIS from right to left (decreasing subsequence) for each position*)
for i := lung - 2 downto 0 do
for j := i + 1 to lung-1 do
begin
if (P[i] > P[j]) then rightLIS[i] := max(rightLIS[i], rightLIS[j] + 1);
end;
(* Find the maximum length of mountain subsequence*)
maxMountainLength := 0;
for i := 0 to lung-1 do
(*A valid mountain peak must have at least one element on both sides*)
(*leftLIS[i] > 1 ensures there's at least one element before peak*)
(*rightLIS[i] > 1 ensures there's at least one element after peak*)
if (leftLIS[i] >= 1) and (rightLIS[i] >= 1) then
(*Total mountain length with peak at i Subtract 1 because peak is counted in both leftLIS and rightLIS*)
maxMountainLength := max(maxMountainLength, leftLIS[i] + rightLIS[i] - 1);
(* Minimum removals = total elements - maximum mountain length*)
ANS:= N - maxMountainLength;
w:=w+1;
end;
h:=h+1;
end;
WriteLn(ANS);
end.
cHJvZ3JhbSBtb3VudGFpbjsKVXNlcyBzeXN1dGlscywgTWF0aDsKCmNvbnN0CiAgICBNQVhOID0gMTAwMDA1OwoKdmFyCiAgICBBTlMsIE4sIGksIGosaCx3LCBtYXhNb3VudGFpbkxlbmd0aCwgbHVuZyA6IExvbmdJbnQ7CiAgICBQLCBsZWZ0TElTLCByaWdodExJUyAgOiBBcnJheVswLi5NQVhOLTFdIG9mIExvbmdJbnQ7CiAgICByaW1vc3NpIDogQW5zaXN0cmluZzsKICAgIHJpbW9zc286IGJvb2xlYW47CmJlZ2luCiAgICAoKmFzc2lnbihpbnB1dCwgICdpbnB1dC50eHQnKTsgIHJlc2V0KGlucHV0KTsKICAgIGFzc2lnbihvdXRwdXQsICdvdXRwdXQudHh0Jyk7IHJld3JpdGUob3V0cHV0KTsqKSAgCgogICAgUmVhZExuKE4pOwogICAgcmltb3NzaTo9Jyc7IGx1bmc6PU47CiAgICBmb3IgaTo9MCB0byBOLTEgZG8gYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgUmVhZChQW2ldKTsKICAgICAgICAgICAgICAgICAgICAgICAgcmltb3NzaTo9cmltb3NzaStJbnRUb3N0cihQW2ldKTsKICAgICAgICAgICAgICAgICAgICAgICBlbmQ7ICAKICAgIFJlYWRMbigpOwogICAgcmltb3Nzbzo9ZmFsc2U7IHc6PTI7IGg6PTE7CiAgICB3aGlsZSBoPDUgZG8gCiAgICAgICBiZWdpbgogICAgICAgIHc6PTI7IHJpbW9zc286PWZhbHNlOwogICAgICAgIHdoaWxlIHc8bHVuZyBkbwogICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICBpZiAgKHJpbW9zc2lbd108cmltb3NzaVt3LTFdKSBhbmQgKHJpbW9zc2lbd108cmltb3NzaVt3KzFdKSB0aGVuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlKHJpbW9zc2ksdywxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsdW5nOj1sdW5nLTE7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmltb3Nzbzo9dHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5kOyAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBmb3IgaTo9MSB0byBsdW5nICBkbyBQW2ktMV06PVN0clRvSW50KHJpbW9zc2lbaV0pOyAKICAgICAgIAogICAgCUFOUyA6PSAwOyAKCSgqbGVmdExJU1tpXSBzdG9yZXMgdGhlIGxlbmd0aCBvZiBsb25nZXN0IGluY3JlYXNpbmcgc3Vic2VxdWVuY2UgZW5kaW5nIGF0IGluZGV4IGkqKQoJKCpyaWdodExJU1tpXSBzdG9yZXMgdGhlIGxlbmd0aCBvZiBsb25nZXN0IGRlY3JlYXNpbmcgc3Vic2VxdWVuY2Ugc3RhcnRpbmcgYXQgaW5kZXggaSopCgogIAkgZm9yIGk6PTAgdG8gIGx1bmctMSBkbyBiZWdpbiBsZWZ0TElTW2ldOj0xOyByaWdodExJU1tpXTo9MTsgZW5kOwoKCSgqQ2FsY3VsYXRlIExJUyBmcm9tIGxlZnQgdG8gcmlnaHQgZm9yIGVhY2ggcG9zaXRpb24qKQogIAogICAJZm9yIGkgOj0gMSB0byBsdW5nLTEgZG8KICAgICAgICAgICBmb3Igajo9IDAgdG8gaS0xIGRvCiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICBpZiAoUFtpXSA+IFBbal0pIHRoZW4gbGVmdExJU1tpXSA6PSBtYXgobGVmdExJU1tpXSwgbGVmdExJU1tqXSArIDEpOyAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICBlbmQ7ICAKICAKCSgqIENhbGN1bGF0ZSBMSVMgZnJvbSByaWdodCB0byBsZWZ0IChkZWNyZWFzaW5nIHN1YnNlcXVlbmNlKSBmb3IgZWFjaCBwb3NpdGlvbiopCgogICAJZm9yIGkgOj0gbHVuZyAtIDIgZG93bnRvIDAgZG8KICAgICAgICAgICAgZm9yICBqIDo9IGkgKyAxIHRvIGx1bmctMSBkbwogICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgaWYgKFBbaV0gPiBQW2pdKSB0aGVuIHJpZ2h0TElTW2ldIDo9IG1heChyaWdodExJU1tpXSwgcmlnaHRMSVNbal0gKyAxKTsgICAgICAgICAgICAgICAgCgkgICAgICAgZW5kOwogICAgICAgICgqIEZpbmQgdGhlIG1heGltdW0gbGVuZ3RoIG9mIG1vdW50YWluIHN1YnNlcXVlbmNlKikKIAkgIG1heE1vdW50YWluTGVuZ3RoIDo9IDA7CiAgCSBmb3IgaSA6PSAwIHRvIGx1bmctMSBkbwoJKCpBIHZhbGlkIG1vdW50YWluIHBlYWsgbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSBlbGVtZW50IG9uIGJvdGggc2lkZXMqKQoJKCpsZWZ0TElTW2ldID4gMSBlbnN1cmVzIHRoZXJlJ3MgYXQgbGVhc3Qgb25lIGVsZW1lbnQgYmVmb3JlIHBlYWsqKQoJKCpyaWdodExJU1tpXSA+IDEgZW5zdXJlcyB0aGVyZSdzIGF0IGxlYXN0IG9uZSBlbGVtZW50IGFmdGVyIHBlYWsqKQogIAkgaWYgKGxlZnRMSVNbaV0gPj0gMSkgYW5kIChyaWdodExJU1tpXSA+PSAxKSAgdGhlbgogIAkoKlRvdGFsIG1vdW50YWluIGxlbmd0aCB3aXRoIHBlYWsgYXQgaSBTdWJ0cmFjdCAxIGJlY2F1c2UgcGVhayBpcyBjb3VudGVkIGluIGJvdGggbGVmdExJUyBhbmQgcmlnaHRMSVMqKQogICAgICAgICBtYXhNb3VudGFpbkxlbmd0aCA6PSBtYXgobWF4TW91bnRhaW5MZW5ndGgsIGxlZnRMSVNbaV0gKyByaWdodExJU1tpXSAtIDEpOwogCSgqIE1pbmltdW0gcmVtb3ZhbHMgPSB0b3RhbCBlbGVtZW50cyAtIG1heGltdW0gbW91bnRhaW4gbGVuZ3RoKikKICAJIEFOUzo9IE4gLSBtYXhNb3VudGFpbkxlbmd0aDsgCiAgICAgICAgCXc6PXcrMTsKICAgICAgICAgICAgZW5kOyAgICAgICAgIAogICAgICAgICAgaDo9aCsxOyAgIAogICAgICAgZW5kOyAgCiAgIFdyaXRlTG4oQU5TKTsKZW5kLg==