結果
問題 | No.1373 Directed Operations |
ユーザー |
![]() |
提出日時 | 2020-11-04 22:12:37 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 479 ms / 2,000 ms |
コード長 | 635 bytes |
コンパイル時間 | 208 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 29,132 KB |
最終ジャッジ日時 | 2024-07-22 10:27:37 |
合計ジャッジ時間 | 6,481 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 19 |
ソースコード
import sysimport relines = []for line in sys.stdin:lines.append(line)pos_int = r"[1-9]\d*"assert len(lines) == 2assert re.fullmatch(fr"{pos_int}\n", lines[0])N = int(lines[0])assert 2 <= N <= 10 ** 5assert re.fullmatch(fr"({pos_int} )*{pos_int}\n", lines[1])a = list(map(int, lines[1].split()))assert len(a) == N - 1assert all(1 <= a[i] <= N - 1 for i in range(N - 1))p = [(0, 0)] + sorted((x, i) for i, x in enumerate(a, 1))x = [0 for _ in range(N)]for i in range(1, N):if p[i][0] > i:print("NO")exit()x[p[i][1]] = (i + 1) - p[i][0]print("YES")for i in range(1, N):print(x[i])