提出 #31642562


ソースコード 拡げる

from random import *

N = int(input())
A = list(map(int, input().split()))
B = list(map(int, input().split()))

# ランダムな整数を割り当て
table = {}
for a in A:
    table[a] = randrange(1 << 60)
for b in B:
    table[b] = randrange(1 << 60)

# 先頭 i 項のハッシュを前計算
hashA = [0]
setA = set()
for a in A:
    if a in setA:
        hashA.append(hashA[-1])
    else:
        setA.add(a)
        hashA.append(hashA[-1] ^ table[a])

hashB = [0]
setB = set()
for b in B:
    if b in setB:
        hashB.append(hashB[-1])
    else:
        setB.add(b)
        hashB.append(hashB[-1] ^ table[b])

# クエリに答える
Q = int(input())
for i in range(Q):
    x, y = map(int, input().split())
    print("Yes" if hashA[x] == hashB[y] else "No")

提出情報

提出日時
問題 E - Prefix Equality
ユーザ tatyam
言語 PyPy3 (7.3.0)
得点 500
コード長 766 Byte
結果 AC
実行時間 1120 ms
メモリ 224508 KiB

ジャッジ結果

セット名 Sample All after_contest
得点 / 配点 0 / 0 500 / 500 0 / 0
結果
AC × 1
AC × 34
AC × 1
セット名 テストケース
Sample 00_sample_00.txt
All 00_sample_00.txt, 01_one_00.txt, 01_one_01.txt, 02_smallN_00.txt, 02_smallN_01.txt, 03_rnd_00.txt, 03_rnd_01.txt, 04_normal_00.txt, 04_normal_01.txt, 04_normal_02.txt, 04_normal_03.txt, 04_normal_04.txt, 04_normal_05.txt, 05_largexy_00.txt, 05_largexy_01.txt, 05_largexy_02.txt, 05_largexy_03.txt, 05_largexy_04.txt, 05_largexy_05.txt, 06_rev_00.txt, 07_distinct_00.txt, 08_sumhack_00.txt, 08_sumhack_01.txt, 08_sumhack_02.txt, 09_smallval_00.txt, 09_smallval_01.txt, 09_smallval_02.txt, 09_smallval_03.txt, 09_smallval_04.txt, 09_smallval_05.txt, 09_smallval_06.txt, 09_smallval_07.txt, 09_smallval_08.txt, 09_smallval_09.txt
after_contest 99_after_contest_00.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 179 ms 81076 KiB
01_one_00.txt AC 101 ms 81124 KiB
01_one_01.txt AC 102 ms 81020 KiB
02_smallN_00.txt AC 699 ms 84360 KiB
02_smallN_01.txt AC 726 ms 84316 KiB
03_rnd_00.txt AC 1105 ms 202936 KiB
03_rnd_01.txt AC 1120 ms 202776 KiB
04_normal_00.txt AC 994 ms 144608 KiB
04_normal_01.txt AC 987 ms 145372 KiB
04_normal_02.txt AC 944 ms 141384 KiB
04_normal_03.txt AC 936 ms 141504 KiB
04_normal_04.txt AC 945 ms 141340 KiB
04_normal_05.txt AC 943 ms 141420 KiB
05_largexy_00.txt AC 965 ms 145148 KiB
05_largexy_01.txt AC 990 ms 144664 KiB
05_largexy_02.txt AC 973 ms 141488 KiB
05_largexy_03.txt AC 954 ms 141016 KiB
05_largexy_04.txt AC 947 ms 141412 KiB
05_largexy_05.txt AC 936 ms 141380 KiB
06_rev_00.txt AC 1080 ms 224060 KiB
07_distinct_00.txt AC 1100 ms 224508 KiB
08_sumhack_00.txt AC 932 ms 124140 KiB
08_sumhack_01.txt AC 925 ms 124624 KiB
08_sumhack_02.txt AC 956 ms 133436 KiB
09_smallval_00.txt AC 908 ms 122736 KiB
09_smallval_01.txt AC 897 ms 122884 KiB
09_smallval_02.txt AC 904 ms 122744 KiB
09_smallval_03.txt AC 899 ms 122884 KiB
09_smallval_04.txt AC 896 ms 122656 KiB
09_smallval_05.txt AC 921 ms 122708 KiB
09_smallval_06.txt AC 904 ms 122752 KiB
09_smallval_07.txt AC 903 ms 122604 KiB
09_smallval_08.txt AC 904 ms 133240 KiB
09_smallval_09.txt AC 904 ms 123060 KiB
99_after_contest_00.txt AC 1016 ms 223724 KiB