from collections import deque
n = int(input())
startl = list(map(int, input().split()))
nagasienice = [startl[i%n] for i in range(2*n)]
Q = deque()
Q.append((nagasienice[2*n-1], 2*n-2))
res = 0
for i in range(2*n-2, -1, -1):
if Q[0][1]>=i+n:
Q.popleft()
aktualna = nagasienice[i]
sprawdzajaca, idxjej = Q.pop()
while Q and aktualna>sprawdzajaca:
sprawdzajaca, idxjej = Q.pop()
if sprawdzajaca>aktualna:
Q.append((sprawdzajaca, idxjej))
Q.append((aktualna, i))
res = max(len(Q), res)
print(res)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from collections import deque n = int(input()) startl = list(map(int, input().split())) nagasienice = [startl[i%n] for i in range(2*n)] Q = deque() Q.append((nagasienice[2*n-1], 2*n-2)) res = 0 for i in range(2*n-2, -1, -1): if Q[0][1]>=i+n: Q.popleft() aktualna = nagasienice[i] sprawdzajaca, idxjej = Q.pop() while Q and aktualna>sprawdzajaca: sprawdzajaca, idxjej = Q.pop() if sprawdzajaca>aktualna: Q.append((sprawdzajaca, idxjej)) Q.append((aktualna, i)) res = max(len(Q), res) print(res) |
English