結果
問題 |
No.482 あなたの名は
|
ユーザー |
|
提出日時 | 2017-02-11 00:53:50 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 341 ms / 2,000 ms |
コード長 | 561 bytes |
コンパイル時間 | 87 ms |
コンパイル使用メモリ | 12,544 KB |
実行使用メモリ | 42,828 KB |
最終ジャッジ日時 | 2024-12-29 20:27:39 |
合計ジャッジ時間 | 6,749 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
n, k = [int(i) for i in input().split()] d = [int(i) - 1 for i in input().split()] e = [0 for i in range(n)] for i, d_i in enumerate(d): e[d_i] = i used_indices = set() swap_times = list() for i in range(n): index = i swap_time = -1 while index not in used_indices: used_indices.add(index) index = e[index] swap_time += 1 if swap_time > 0: swap_times.append(swap_time) total_swap_time = sum(swap_times) if (k - total_swap_time) % 2 == 0 and k >= total_swap_time: print('YES') else: print('NO')