結果
問題 | No.318 学学学学学 |
ユーザー |
![]() |
提出日時 | 2020-03-07 05:25:10 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 425 ms / 2,000 ms |
コード長 | 616 bytes |
コンパイル時間 | 237 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 45,752 KB |
最終ジャッジ日時 | 2024-10-14 11:12:55 |
合計ジャッジ時間 | 7,781 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#!/usr/bin/env python3 # %% import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines from collections import defaultdict from heapq import heappop, heappush # %% N, *A = map(int, read().split()) # %% coord = defaultdict(list) for i, x in enumerate(A): coord[x].append(i) # %% L_to_R = [-1] * N for li in coord.values(): L_to_R[li[0]] = li[-1] # %% q = [] B = [0] * N for L, R in enumerate(L_to_R): if R != -1: heappush(q, (-A[L], R)) while q[0][1] < L: heappop(q) B[L] = -q[0][0] # %% print(' '.join(map(str, B)))