結果

問題 No.482 あなたの名は
ユーザー hkr
提出日時 2017-02-11 00:17:25
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
AC  
実行時間 69 ms / 2,000 ms
コード長 635 bytes
コンパイル時間 481 ms
コンパイル使用メモリ 59,356 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-29 20:23:57
合計ジャッジ時間 2,716 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <vector>
using namespace std;

typedef long long ll;

int main() {
    ll n, k;
    cin >> n >> k;
    vector<int> d(n+1);
    vector<int> d2(n+1);
    for(int i=1;i<=n;i++) {
        int di;
        cin >> di;
        d[i] = di;
        d2[i] = di;
    }
    int l = 1, r = n;
    int cnt = 0;
    for(int i=1;i<=n;i++) {
        if(d[i] == i) {
            continue;
        } else {
            swap(d[i], d[d[i]]);
            cnt++;
            if(d[i]!=i)
                i--;
        }
    }

    if(cnt%2 == k%2 && cnt <= k)
        cout << "YES" << endl;
    else
        cout << "NO" << endl;
}

0