結果
| 問題 | No.3782 Synchronized Subsequences |
| コンテスト | |
| ユーザー |
kidodesu
|
| 提出日時 | 2026-11-05 17:33:14 |
| 言語 | PyPy3 (8.0.1 + ACL) |
| 結果 |
TLE
不安定
|
| 実行時間 | - |
| コード長 | 958 bytes |
| 記録 | |
| コンパイル時間 | 82 ms |
| コンパイル使用メモリ | 64,668 KB |
| 実行使用メモリ | 121,980 KB |
| 最終ジャッジ日時 | 2026-11-05 17:34:30 |
| 合計ジャッジ時間 | 74,134 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge7_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 24 TLE * 16 |
ソースコード
from atcoder.segtree import SegTree
def main():
n = int(input())
P = list(map(lambda x: int(x)-1, input().split()))
Q = list(map(lambda x: int(x)-1, input().split()))
st0 = SegTree(lambda a, b: max(a, b), 0, [0]*n*n)
st1 = SegTree(lambda a, b: max(a, b), 0, [0]*n*n)
st0_ = SegTree(lambda a, b: max(a, b), 0, [0]*n)
st1_ = SegTree(lambda a, b: max(a, b), 0, [0]*n)
ans = 0
for pi in range(n):
for i in range(n): st0_.set(i, 0); st1_.set(i, 0)
for qi in range(n):
p, q = P[pi], Q[qi]
a = max(st0.prod(qi*n+p, qi*n+n), st1.prod(qi*n, qi*n+p))+1
ans = max(ans, a)
st0_.set(q, a)
st1_.set(q, a)
x, y = st0_.prod(q+1, n), st1_.prod(0, q)
#print(p, q, x, y, a, "here", *[st1_.get(i) for i in range(n)])
st0.set(qi*n+p, x)
st1.set(qi*n+p, y)
return ans
for _ in range(int(input())):
print(main())
kidodesu