結果
問題 |
No.482 あなたの名は
|
ユーザー |
|
提出日時 | 2017-03-30 18:23:34 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 716 ms / 2,000 ms |
コード長 | 667 bytes |
コンパイル時間 | 2,850 ms |
コンパイル使用メモリ | 75,108 KB |
実行使用メモリ | 66,436 KB |
最終ジャッジ日時 | 2024-07-07 03:04:49 |
合計ジャッジ時間 | 16,654 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
import java.util.Scanner; public class YourName { public static void main(String[] args) { Scanner s = new Scanner(System.in); int N = s.nextInt(); long K = s.nextLong(); int[] D = new int[N]; for(int i = 0;i < N;i++){ D[i] = s.nextInt(); if(i+1 == D[i]){ D[i] = 0; } } s.close(); for(int i = 0;i < N;i++){ if(D[i] != 0){ while(D[i] != i+1){ //System.out.println("D[" + i + "] = " + D[i] + " " + K); int k = D[D[i]-1]; D[D[i]-1] = 0; D[i] = k; K--; } if(K < 0){ break; } } } if(K >= 0 &&K % 2 == 0){ System.out.println("YES"); }else{ System.out.println("NO"); } } }