题目描述
長さ N の数列 A=(a1,…,aN) があります。また、整数 K が与えられます。
あなたは次の操作を 0 回以上何度でも行えます。
- 1 ≤ i ≤ N−K を満たす整数 i を選び、ai と ai+K の値を入れ替える。
A を昇順に並べ替えることが出来るかどうかを判定してください。
输入格式
入力は以下の形式で標準入力から与えられる。
N K a1 … aN
输出格式
A を昇順に並び替えることが出来るならば Yes
と、出来ないならば No
と出力せよ。
题目大意
题目翻译
给出一个长为 n 的数列 a1,a2,⋯,an。再给一个整数 k。
每次可以选一个下标 i(1≤i≤n−k),将 ai 和 ai+k 交换。
问能否通过交换让数列 a 成为升序(任意 ai≤ai+1)?
translate by
https://www.luogu.com.cn/user/367488
输入格式
输入包括两行,第一行有 2 个正整数 n,k。
第二行有 n 个正整数 a1,a2,⋯,an。
输出格式
如果可以通过交换变成升序,输出 Yes。不能变成升序,输出 No。
数据范围
2≤n≤2×105;1≤k≤n−1;1≤ai≤109。
5 2
3 4 1 3 4
Yes
5 3
3 4 1 3 4
No
7 5
1 2 3 4 5 5 10
Yes
提示
制約
- 2 ≤ N ≤ 2 × 105
- 1 ≤ K ≤ N−1
- 1 ≤ ai ≤ 109
- 入力はすべて整数
Sample Explanation 1
次のように操作をすることで A を昇順に並び替えることが出来ます。 - i=1 とし、a1 と a3 の値を入れ替える。数列は (1,4,3,3,4) となる。 - i=2 とし、a2 と a4 の値を入れ替える。数列は (1,3,3,4,4) となる。
Sample Explanation 3
操作を行う必要が無い場合もあります。