Submission #59403729
Source Code Expand
Copy
"""<方針>- 毎回 `A` の配列を捜査してその数値が出たかどうかを確認すると, `O(N^2)` より `TLE` する.- 今まででた値を `O(1)` で確認できる方法があれば良い.- `list` を使うと, `A` が大きすぎて `MLE` の方向で良くない.- `dict` を使い, `key` を `A` の値とし, `value` を前回値が出た時の位置とすれば良い.- すると,全体では `O(N)` となって間に合う."""# 入力N = int(input())A = list(map(int, input().split()))# 答えans = []# 値が出たかどうかのdictdic = dict()# 位置と値を取得for i, a in enumerate(A):# 値が既に発見されてる時if(a in dic):# 前回の位置を取得
""" <方針> - 毎回 `A` の配列を捜査してその数値が出たかどうかを確認すると, `O(N^2)` より `TLE` する. - 今まででた値を `O(1)` で確認できる方法があれば良い. - `list` を使うと, `A` が大きすぎて `MLE` の方向で良くない. - `dict` を使い, `key` を `A` の値とし, `value` を前回値が出た時の位置とすれば良い. - すると,全体では `O(N)` となって間に合う. """ # 入力 N = int(input()) A = list(map(int, input().split())) # 答え ans = [] # 値が出たかどうかのdict dic = dict() # 位置と値を取得 for i, a in enumerate(A): # 値が既に発見されてる時 if(a in dic): # 前回の位置を取得 past = dic[a] # 位置を0-indexedを考慮して出力 ans.append(past+1) # 位置を記録 dic[a] = i # 値がまだ発見されてない時 else: # 答えを-1とする. ans.append(-1) # 位置を記録 dic[a] = i # 出力 print(*ans)
Submission Info
Submission Time | |
---|---|
Task | C - Repeating |
User | mattsunkun |
Language | Python (PyPy 3.10-v7.3.12) |
Score | 300 |
Code Size | 1056 Byte |
Status | AC |
Exec Time | 130 ms |
Memory | 140172 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt, 00_sample_02.txt |
All | 00_sample_01.txt, 00_sample_02.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 02_handmade_01.txt, 02_handmade_02.txt, 02_handmade_03.txt, 02_handmade_04.txt, 02_handmade_05.txt, 02_handmade_06.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00_sample_01.txt | AC | 55 ms | 76332 KB |
00_sample_02.txt | AC | 56 ms | 76576 KB |
01_random_01.txt | AC | 107 ms | 127080 KB |
01_random_02.txt | AC | 108 ms | 126828 KB |
01_random_03.txt | AC | 108 ms | 126836 KB |
01_random_04.txt | AC | 108 ms | 126720 KB |
01_random_05.txt | AC | 111 ms | 126848 KB |
01_random_06.txt | AC | 107 ms | 127104 KB |
01_random_07.txt | AC | 109 ms | 128288 KB |
01_random_08.txt | AC | 109 ms | 126936 KB |
01_random_09.txt | AC | 108 ms | 126692 KB |
01_random_10.txt | AC | 111 ms | 128180 KB |
01_random_11.txt | AC | 77 ms | 96532 KB |
01_random_12.txt | AC | 109 ms | 126828 KB |
01_random_13.txt | AC | 97 ms | 119880 KB |
01_random_14.txt | AC | 108 ms | 126472 KB |
01_random_15.txt | AC | 81 ms | 101244 KB |
01_random_16.txt | AC | 120 ms | 118520 KB |
01_random_17.txt | AC | 99 ms | 115480 KB |
01_random_18.txt | AC | 120 ms | 118852 KB |
01_random_19.txt | AC | 67 ms | 82736 KB |
01_random_20.txt | AC | 125 ms | 118992 KB |
02_handmade_01.txt | AC | 56 ms | 76708 KB |
02_handmade_02.txt | AC | 108 ms | 126948 KB |
02_handmade_03.txt | AC | 128 ms | 140172 KB |
02_handmade_04.txt | AC | 129 ms | 140060 KB |
02_handmade_05.txt | AC | 128 ms | 140060 KB |
02_handmade_06.txt | AC | 130 ms | 139768 KB |