AT_abc254_c [ABC254C] K Swap
Description
[problemUrl]: https://atcoder.jp/contests/abc254/tasks/abc254_c
長さ $ N $ の数列 $ A=(a_1,\ldots,a_N) $ があります。また、整数 $ K $ が与えられます。
あなたは次の操作を $ 0 $ 回以上何度でも行えます。
- $ 1\ \leq\ i\ \leq\ N-K $ を満たす整数 $ i $ を選び、$ a_i $ と $ a_{i+K} $ の値を入れ替える。
$ A $ を昇順に並べ替えることが出来るかどうかを判定してください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ a_1 $ $ \ldots $ $ a_N $
Output Format
$ A $ を昇順に並び替えることが出来るならば `Yes` と、出来ないならば `No` と出力せよ。
Explanation/Hint
### 制約
- $ 2\ \leq\ N\ \leq\ 2\ \times\ 10^5 $
- $ 1\ \leq\ K\ \leq\ N-1 $
- $ 1\ \leq\ a_i\ \leq\ 10^9 $
- 入力はすべて整数
### Sample Explanation 1
次のように操作をすることで $ A $ を昇順に並び替えることが出来ます。 - $ i=1 $ とし、$ a_1 $ と $ a_3 $ の値を入れ替える。数列は $ (1,4,3,3,4) $ となる。 - $ i=2 $ とし、$ a_2 $ と $ a_4 $ の値を入れ替える。数列は $ (1,3,3,4,4) $ となる。
### Sample Explanation 3
操作を行う必要が無い場合もあります。