白駿17928号:呉大洙
五大数
白駿17928号:呉大洙
アイデア
数列の大きさは10万です.O(Nlogn)時間の複雑さを持つアルゴリズムを設計すれば解ける.しかし,この問題はO(N)の時間的複雑さで解決できる.
コード#コード#
import sys
input = sys.stdin.readline
N = int(input())
st = list(map(int, input().split()))
targets = []
ans = [-1] * N
st.reverse()
idx = 0
targets.append((idx, st.pop()))
while st:
t = st.pop()
idx += 1
while targets and targets[-1][1] < t:
a, b = targets.pop()
ans[a] = t
targets.append((idx, t))
for i in ans:
print(i, end=' ')
おしゃべり
問題を解くより絵を描いて説明するのがもっと難しい.
Reference
この問題について(白駿17928号:呉大洙), 我々は、より多くの情報をここで見つけました https://velog.io/@ks1ksi/백준-17928번-오큰수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol