結果
| 問題 | No.3667 Prefix Count Queries |
| ユーザー |
kemuniku
|
| 提出日時 | 2026-09-13 15:14:57 |
| 言語 | Nim (2.2.10 + ACL) |
| 結果 |
AC
不安定
|
| 実行時間 | 42 ms / 2,000 ms |
| + 953µs | |
| コード長 | 21,770 bytes |
| 記録 | |
| コンパイル時間 | 5,527 ms |
| コンパイル使用メモリ | 201,192 KB |
| 実行使用メモリ | 70,016 KB |
| 最終ジャッジ日時 | 2026-09-13 15:15:21 |
| 合計ジャッジ時間 | 9,384 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 5 |
| other | AC * 35 |
ソースコード
template originalSource() =
include cplib/tmpl/sheep
include cplib/str/trie
var N = ii()
var A = newseqwith(N,si())
var trie = initTrie(A,'a'..'z')
var now = trie.initTriePointer()
var Q = ii()
for _ in range(Q):
var t = ii()
if t == 1:
var x = si()[0]
now &= x
elif t == 2:
discard now.pop()
else:
print now.subtree
# https://github.com/kemuniku/cplib
import macros;macro cplibRestore(s:static[string]):untyped = parseStmt(s)
cplibRestore("import base64\x0Amacro cplibUnpackSource(): untyped =\x0A # \xE3\x82\xB3\xE3\x83\xB3\xE3\x83\x91\xE3\x82\xA4\xE3\x83\xAB\xE6\x99\x82\xE3\x81\xAB\xE5\xB1\x95\xE9\x96\x8B\xE6\xB8\x88\xE3\x81\xBF\xE3\x82\xB3\xE3\x83\xBC\xE3\x83\x89\xE3\x82\x92\xE5\xBE\xA9\xE5\x85\x83\xE3\x81\x99\xE3\x82\x8B\xE3\x80\x82\x0A let z = decode(\"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\")\x0A var s = \"\"\x0A var i = 0\x0A while i < z.len:\x0A let f = ord(z[i])\x0A inc i\x0A for b in 0..<8:\x0A if i >= z.len: break\x0A if (f and (1 shl b)) == 0:\x0A s.add(z[i])\x0A inc i\x0A else:\x0A let d = ord(z[i])*256+ord(z[i+1])\x0A let n = ord(z[i+2])+3\x0A i += 3\x0A for j in 0..<n: s.add(s[s.len-d])\x0A result = parseStmt(s)\x0AcplibUnpackSource()\x0A")
kemuniku