結果

問題 No.3637 PANDORA
コンテスト
ユーザー amesyu
提出日時 2026-08-25 14:14:00
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
RE  
実行時間 -
コード長 722 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 254 ms
コンパイル使用メモリ 95,976 KB
実行使用メモリ 91,392 KB
最終ジャッジ日時 2026-08-25 14:15:34
合計ジャッジ時間 8,524 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
サブタスク 配点 結果
サンプル 0 % RE * 2
小課題1 5 % RE * 4
小課題2 10 % RE * 4
小課題3 5 % RE * 8
小課題4 10 % RE * 5
小課題5 20 % RE * 10
小課題6 20 % RE * 16
小課題7 30 % RE * 38
合計 0 点
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

from sortedcontainers import SortedSet
n, q = map(int, input().split())
s = list(input())
pos = [SortedSet([n]) for _ in range(26)]

def get(c): return ord(c) - ord('a')
for i in range(n): pos[get(s[i])].add(i)

for _ in range(q):
    query = input().split()
    t = query[0]

    if t == "1":
        i = int(query[1]) - 1
        c = query[2]
        pos[get(s[i])].remove(i)
        s[i] = c
        pos[get(s[i])].add(i)

    if t == "2":
        t = query[1]
        p = -1
        for j in range(len(t)):
            if p == n: break
            next_index = pos[get(t[j])].bisect_right(p)
            p = pos[get(t[j])][next_index] 
        if p != n:
            print("Yes")
        else:
            print("No")
0