知道大佬们都是写C、C++的多,菜鸡目前用的Python,发现Python这边目前一个人都没有AC过...
看来得去研究研究C++了。
import sys
input = lambda: sys.stdin.readline().rstrip("\r\n")
printf = lambda d: sys.stdout.write(str(d) + "\n")
n = int(input().strip())
nums = [int(i) for i in input().strip().split(" ")]
assert len(nums) == n
res = [0] * n
stack = []
for i in range(n-1, -1, -1):
while stack and nums[stack[-1]] <= nums[i]:
stack.pop()
if stack:
res[i] = stack[-1]
stack.append(i)
for i, v in enumerate(res):
if v != 0:
res[i] += 1
s = ""
for r in res:
s += f"{r} "
printf(s[:-1])