結果
問題 |
No.3091 The Little Match Boy
|
ユーザー |
|
提出日時 | 2025-04-06 16:10:34 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
|
実行時間 | - |
コード長 | 1,693 bytes |
コンパイル時間 | 236 ms |
コンパイル使用メモリ | 82,144 KB |
実行使用メモリ | 849,604 KB |
最終ジャッジ日時 | 2025-04-06 16:10:45 |
合計ジャッジ時間 | 9,282 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 40 MLE * 1 -- * 21 |
ソースコード
# https://atcoder.jp/contests/QUPC2024/tasks/QUPC2024_a # R # cSpell:disable from bisect import bisect_left, bisect_right from collections import Counter, defaultdict, deque from copy import copy from functools import lru_cache from itertools import combinations, permutations from math import ceil, log, log2, log10 from sys import setrecursionlimit, stdin def flatten(N): from itertools import chain return chain.from_iterable(N) def getPrimes(n: int): N = list(3, range(n), 2) P = [2] p = 2 V = int(pow(N, 0.5)) while p < V: p = N.pop(0) N = [t for t in N if N % p] P.append(p) return P def getFactor(n: int): P = [] V = int(pow(n, 0.5)) while not n % 2: n //= 2 P.append(2) for k in range(3, V + 1, 2): while not n % k: n //= k P.append(k) return P def dijkstra(f, p, E): for q in E[p]: if f != q: return dijkstra(p, q, E) setrecursionlimit(10**8) def ins(): return stdin.readline()[:-1] def inms(): return ins().split() def ini(): return int(ins()) def inmi(): return map(int, inms()) def inf(): return float(ins()) def inmf(): return map(float, inms()) def out(*args, sep=" ", end="\n"): print(*args, sep=sep, end=end) MOD = 1000000007 MAX = 1 << 63 MIN = -1 << 63 N, M = inmi() S = [*inmi()] V = [*range(0, N + 1)] F = defaultdict(tuple) for i, s in enumerate(S): F[i] = (V[s], V[s + 1]) V[s], V[s + 1] = V[s + 1], V[s] A = set() I = {v: i for i, v in enumerate(V)} for i, s in enumerate(S): v = copy(V) v[I[F[i][0]]], v[I[F[i][1]]] = v[I[F[i][1]]], v[I[F[i][0]]] A.add(tuple(v)) print(len(A))