結果
| 問題 |
No.3091 The Little Match Boy
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 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 |
ソースコード
# 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))