이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
L = [int(input()) for x in range(int(input()))]
L.append(0)
add = {}
cur = 0
first = 0
peak = 0
flag = False
for x in L:
if not flag:
if x >= cur:
cur = x
else:
peak = cur
flag = True
if flag:
if x <= cur:
cur = x
else:
if peak in add:
add[peak] += 1
else:
add[peak] = 1
if max(first, cur) in add:
add[max(first, cur)] -= 1
else:
add[max(first, cur)] = -1
first = cur
cur = x
flag = False
if peak in add:
add[peak] += 1
else:
add[peak] = 1
if first in add:
add[first] -= 1
else:
add[first] = -1
ans = 0
cur = 0
for x in sorted(add)[::-1]:
cur += add[x]
ans = max(ans, cur)
print(ans)
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |