結果
問題 | No.2759 Take Pictures, Elements? |
ユーザー | ntuda |
提出日時 | 2024-05-18 13:08:51 |
言語 | PyPy3 (7.3.15) |
結果 |
RE
|
実行時間 | - |
コード長 | 781 bytes |
コンパイル時間 | 212 ms |
コンパイル使用メモリ | 82,560 KB |
実行使用メモリ | 69,012 KB |
最終ジャッジ日時 | 2024-05-18 13:08:54 |
合計ジャッジ時間 | 2,765 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | RE | - |
testcase_01 | RE | - |
testcase_02 | RE | - |
testcase_03 | RE | - |
testcase_04 | RE | - |
testcase_05 | RE | - |
testcase_06 | RE | - |
testcase_07 | RE | - |
testcase_08 | RE | - |
testcase_09 | RE | - |
testcase_10 | RE | - |
testcase_11 | RE | - |
testcase_12 | RE | - |
testcase_13 | RE | - |
testcase_14 | RE | - |
testcase_15 | RE | - |
testcase_16 | RE | - |
testcase_17 | RE | - |
testcase_18 | RE | - |
testcase_19 | RE | - |
testcase_20 | RE | - |
testcase_21 | RE | - |
testcase_22 | RE | - |
testcase_23 | RE | - |
ソースコード
N, Q = map(int, input().split()) A = list(map(int, input().split())) B = list(map(int, input().split())) from collections import defaultdict dic = defaultdict(list) for i, a in enumerate(A): dic[a].append(i) INF = 10 ** 6 from atcoder.segtree import SegTree base = [INF] * N ST1a = SegTree(min, INF, base) ST2a = SegTree(min, INF, base) ST1a.set(0, 0) ST2a.set(0, 0) for b in B: ST1b = SegTree(min, INF, base) ST2b = SegTree(min, INF, base) BB = [-1] * N for c in dic[b]: a = ST1a.prod(c, N) - c a = min(a, ST2a.prod(0, c) + c) #BB[c] = a ST1b.set(c, a + c) ST2b.set(c, a - c) #print(BB) ST1a = ST1b ST2a = ST2b ans = INF for i in range(N): ans = min(ans, ST1a.get(i) - i, ST2a.get(i) + i) print(ans)