結果

問題 No.2289 順列ソート
コンテスト
ユーザー flippergo
提出日時 2024-11-20 08:50:10
言語 PyPy3
(7.3.17)
コンパイル:
pypy3 -mpy_compile _filename_
実行:
pypy3 _filename_
結果
AC  
実行時間 26 ms / 2,000 ms
コード長 355 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 244 ms
コンパイル使用メモリ 85,504 KB
実行使用メモリ 52,352 KB
最終ジャッジ日時 2026-05-14 10:26:30
合計ジャッジ時間 1,872 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

N = int(input())
P = [0]+list(map(int,input().split()))
Col = [-1]*(N+1)
cnt = 0
for i in range(1,N+1):
    if Col[i]>=0:continue
    cur = i
    while Col[cur]<0:
        Col[cur] = cnt
        cur = P[cur]
    cnt += 1
C = {}
for i in range(1,N+1):
    if Col[i]>=0:
        C[Col[i]] = C.get(Col[i],0)+1
ans = 0
for c in C:
    ans += C[c]-1
print(ans)
0