結果
問題 | No.482 あなたの名は |
ユーザー |
|
提出日時 | 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 |
ソースコード
#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;elsecout << "NO" << endl;}