def main(arr, k):
# max element is k
# x_harmless_element anchor harmless_element_y
x = 0
y = 0
anchor = 0
ans = 0
n = len(arr)
for i in range(n):
# 1. THE WALL
if arr[i] > k:
if anchor != 0:
ans += (x + y + 1 + x * y)
x = 0
y = 0
anchor = 0
else:
# 2. THE ANCHOR
if arr[i] == k:
if anchor == 1: # Shift the old anchor
ans += (x + y + 1 + x * y)
x = x + 1 + y
y = 0
else: # First anchor lock-in
anchor = 1
# 3. THE HARMLESS PADDING
elif anchor == 0: # <-- Fixed 'else if' to 'elif'
x += 1
else:
y += 1
# 4. FINAL TALLY (Protected!)
if anchor != 0: # <-- Added protection check
ans += (x + y + 1 + x * y)
return ans
ZGVmIG1haW4oYXJyLCBrKToKICAgICMgbWF4IGVsZW1lbnQgaXMgawogICAgIyB4X2hhcm1sZXNzX2VsZW1lbnQgYW5jaG9yIGhhcm1sZXNzX2VsZW1lbnRfeQogICAgCiAgICB4ID0gMAogICAgeSA9IDAKICAgIGFuY2hvciA9IDAKICAgIGFucyA9IDAKICAgIAogICAgbiA9IGxlbihhcnIpCiAgICAKICAgIGZvciBpIGluIHJhbmdlKG4pOgogICAgICAgICMgMS4gVEhFIFdBTEwKICAgICAgICBpZiBhcnJbaV0gPiBrOgogICAgICAgICAgICBpZiBhbmNob3IgIT0gMDoKICAgICAgICAgICAgICAgIGFucyArPSAoeCArIHkgKyAxICsgeCAqIHkpCiAgICAgICAgICAgIHggPSAwCiAgICAgICAgICAgIHkgPSAwCiAgICAgICAgICAgIGFuY2hvciA9IDAKICAgICAgICAgICAgCiAgICAgICAgZWxzZToKICAgICAgICAgICAgIyAyLiBUSEUgQU5DSE9SCiAgICAgICAgICAgIGlmIGFycltpXSA9PSBrOgogICAgICAgICAgICAgICAgaWYgYW5jaG9yID09IDE6ICMgU2hpZnQgdGhlIG9sZCBhbmNob3IKICAgICAgICAgICAgICAgICAgICBhbnMgKz0gKHggKyB5ICsgMSArIHggKiB5KQogICAgICAgICAgICAgICAgICAgIHggPSB4ICsgMSArIHkKICAgICAgICAgICAgICAgICAgICB5ID0gMAogICAgICAgICAgICAgICAgZWxzZTogIyBGaXJzdCBhbmNob3IgbG9jay1pbgogICAgICAgICAgICAgICAgICAgIGFuY2hvciA9IDEKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgIyAzLiBUSEUgSEFSTUxFU1MgUEFERElORwogICAgICAgICAgICBlbGlmIGFuY2hvciA9PSAwOiAjIDwtLSBGaXhlZCAnZWxzZSBpZicgdG8gJ2VsaWYnCiAgICAgICAgICAgICAgICB4ICs9IDEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIHkgKz0gMQogICAgCiAgICAjIDQuIEZJTkFMIFRBTExZIChQcm90ZWN0ZWQhKQogICAgaWYgYW5jaG9yICE9IDA6ICMgPC0tIEFkZGVkIHByb3RlY3Rpb24gY2hlY2sKICAgICAgICBhbnMgKz0gKHggKyB5ICsgMSArIHggKiB5KQogICAgICAgIAogICAgcmV0dXJuIGFucw==