結果
| 問題 | No.3427 Erasing a Subsequence |
| コンテスト | |
| ユーザー |
9223372036854775807
|
| 提出日時 | 2026-01-11 16:26:50 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,315 bytes |
| 記録 | |
| コンパイル時間 | 497 ms |
| コンパイル使用メモリ | 82,512 KB |
| 実行使用メモリ | 67,220 KB |
| 最終ジャッジ日時 | 2026-01-11 16:26:52 |
| 合計ジャッジ時間 | 1,655 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 11 WA * 3 |
ソースコード
N,M = map(int,input().split())
S = list(map(int,input().split()))
T = list(map(int,input().split()))
L = [True for i in range(N)]
C = [0 for i in range(N-1)]
for i in range(N-1):
if S[i] < S[i+1]:
C[i] = 1
elif S[i] > S[i+1]:
C[i] = -1
C.append(0)
R = -1
a = 1
for i in range(M):
if a > 1:
a -= 1
continue
x,d,o = -1,-1,-1
p = 0
Spos = N-1
Tpos = M-1
while Tpos > i:
if S[Spos] == T[Tpos]:
Tpos -= 1
p = C[Spos]
Spos -= 1
for j in range(Spos,R,-1):
if L[j] and S[j] == T[i]:
if C[j] == 1:
if x == -1:
x = j
p = 1
elif C[j] == 0:
if p == -1:
o = j
if p == 0:
d = j
if p == 1:
if x == -1:
x = j
else:
o = j
p = -1
if o != -1:
L[o] = False
R = o
elif d != -1:
L[d] = False
R = d
else:
L[x] = False
R = x
a = 1
while True:
if R + a + 1 < N and i + a + 1 < M and S[R+a] == T[i+a] and S[R+a-1] <= S[R+a] and S[R] >= S[R+a-1]:
L[R+a] = False
a += 1
else:
break
if R != N-1 and R != 0:
if S[R-1] > S[R+1]:
C[R-1] = -1
elif S[R-1] == S[R+1]:
C[R-1] = 0
else:
C[R-1] = 1
for i in range(N):
if L[i]:
print(S[i],end = " ")
print()
9223372036854775807