4136: 交换ai和ai+K的值是否可以将A排序成升序

内存限制:1024 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

# K Swap ## 题目描述 有一个长度为$N$的序列$A=(a_1,...,a_N)$。此外,给定一个整数$K$。 你可以执行以下操作零次或多次: - 选择一个满足$1 ≤ i ≤ N-K$的整数i,然后交换$a_i$和$a_{i+K}$的值。 判断是否可以将$A$排序成升序。

输入

## 输入格式 输入从标准输入中以下列格式给出: $N$ $K$ $a_1$ ... $a_N$

输出

## 输出格式 如果可以将$A$排序成升序,输出`Yes`;否则,输出`No`。

样例输入 复制

5 2
3 4 1 3 4

样例输出 复制

Yes

提示

## 输入输出样例 ### 输入样例1 ``` 5 2 3 4 1 3 4 ``` ### 输出样例1 ``` Yes ``` ### 输入样例2 ``` 5 3 3 4 1 3 4 ``` ### 输出样例2 ``` No ``` ### 输入样例3 ``` 7 5 1 2 3 4 5 5 10 ``` ### 输出样例3 ``` Yes ``` ## 数据范围与提示 【样例1说明】 可以通过以下操作序列将$A$排序成升序: 1. 选择$i=1$交换$a_1$和$a_3$的值。序列变为(1,4,3,3,4)。 2. 选择$i=2$交换$a_2$和$a_4$的值。序列变为(1,3,3,4,4)。 【样例3说明】 可能不需要进行任何操作。 【数据范围】 - $2 ≤ N ≤ 2 × 10^5$ - $1 ≤ K ≤ N-1$ - $1 ≤ a_i ≤ 10^9$ - 所有输入均为整数。 ## 题目来源 ABC254C