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)
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
83 ms |
19164 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
281 ms |
24360 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
261 ms |
30420 KB |
Output isn't correct |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1064 ms |
32992 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Execution timed out |
1102 ms |
33040 KB |
Time limit exceeded |
2 |
Halted |
0 ms |
0 KB |
- |