結果
問題 |
No.482 あなたの名は
|
ユーザー |
![]() |
提出日時 | 2017-05-18 04:13:36 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 29 ms / 2,000 ms |
コード長 | 534 bytes |
コンパイル時間 | 596 ms |
コンパイル使用メモリ | 72,248 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-17 21:17:18 |
合計ジャッジ時間 | 2,300 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 28 |
ソースコード
#include <cstdio> #include <cstring> #include <random> #include <vector> #include <algorithm> #include <array> #include <functional> #include <utility> using namespace std; int main(){ int n,w=0; int64_t k; -scanf("%d%ld",&n,&k); vector<int> d(n); vector<int> e(n); for(int i=0;i<n;i++){ -scanf("%d",&d[i]); d[i]--; e[d[i]]=i; } for(auto i=0;i<n;i++){ if(i!=d[i]){ int j=e[i]; swap(d[i],d[j]); e[d[i]]=i; e[d[j]]=j; w++; } } puts(w>k||((w^k)&1)?"NO":"YES"); //printf("%d %ld\n",w,k); return 0; }