結果
| 問題 | No.3638 Itsuki |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2026-08-25 15:00:32 |
| 言語 | Python3 (3.14.3 + numpy 2.4.4 + scipy 1.17.1) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 580 bytes |
| 記録 | |
| コンパイル時間 | 987 ms |
| コンパイル使用メモリ | 21,284 KB |
| 実行使用メモリ | 15,868 KB |
| 最終ジャッジ日時 | 2026-08-25 15:00:42 |
| 合計ジャッジ時間 | 7,494 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| サブタスク | 配点 | 結果 |
|---|---|---|
| サンプル | 0 % | AC * 2 |
| 小課題1 | 10 % | AC * 5 |
| 小課題2 | 50 % | TLE * 1 -- * 5 |
| 小課題3 | 40 % | AC * 7 TLE * 1 -- * 10 |
| 合計 | 10 点 |
ソースコード
a,b=map(int,input().split())
c=input()
f={}
for i in range(a):
if c[i] in f:
f[c[i]].add(i)
else:
f[c[i]]=set([i])
for i in range(b):
d=list(map(str,input().split()))
if len(d)==2:
if d[1][0] not in f or f[d[1][0]]==set():
print('No')
continue
n=True
for j in f[d[1][0]]:
if j+len(d[1])<=a and c[j:j+len(d[1])]==d[1]:
print('Yes')
n=False
break
if n:
print('No')
else:
f[c[int(d[1])-1]].remove(int(d[1])-1)
if d[2] in f:
f[d[2]].add(int(d[1])-1)
else:
f[d[2]]=set([int(d[1])-1])
e=list(c)
e[int(d[1])-1]=d[2]
c="".join(e)