結果

問題 No.3091 The Little Match Boy
ユーザー サバseverzemlya
提出日時 2025-04-06 16:17:03
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 215 ms / 2,000 ms
コード長 1,644 bytes
コンパイル時間 584 ms
コンパイル使用メモリ 82,212 KB
実行使用メモリ 115,384 KB
最終ジャッジ日時 2025-04-06 16:17:13
合計ジャッジ時間 8,609 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 62
権限があれば一括ダウンロードができます

ソースコード

diff #

# 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 = dict()

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):
    f = frozenset((V[I[F[i][0]]], V[I[F[i][1]]]))
    A.add(f)


print(len(A))
0