結果
問題 | No.482 あなたの名は |
ユーザー |
![]() |
提出日時 | 2017-02-11 00:11:40 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 70 ms / 2,000 ms |
コード長 | 849 bytes |
コンパイル時間 | 707 ms |
コンパイル使用メモリ | 54,488 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-29 20:23:32 |
合計ジャッジ時間 | 2,670 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
#include <iostream>using namespace std;int main(void){long long int N ,K ;cin >> N >> K ;long long int a[N+1] ;bool used[N+1] ;for(int i=1;i<=N;i++){cin >> a[i] ;used[i] = false ;}int count = 0 ;for(int i=1;i<=N;i++){if(!used[i] && i != a[i]){used[i] = true ;int t = a[i] ;int s = a[t] ;used[t] = true ;while(t != i){count++ ;t = s ;s = a[t] ;used[t] = true ;}}}if(count<=K && (K-count)%2 == 0){cout << "YES" << endl ;}else{cout << "NO" << endl ;}}