Maximum-Cup 2013

J - ALPHAのならび


Time limit時間制限 : 2sec / Memory limitメモリ制限 : 256MB

問題

与えられた長さ n の数列 α = (a_1, ..., a_n) が k-sorted かどうかを判定せよ。 全ての 1 ≦ i, j ≦ n に対して i < j - k ならば a_i ≦ a_j が成り立つとき、およびそのときに限り、α は k-sorted であるという。 0-sorted は普通のソートと等価である。


入力

入力は複数のデータセットからなり、入力の終わりはスペースで区切られた 2 つの -1 からなる。 各データセットは以下のように 2 行で構成される。

n k
a_1 ... a_n

1 行目は 2 つの整数で構成される。 数列 α の長さを表す n に続き、k-sorted の k が与えられる。 nk は、それぞれ 0 ≦ n ≦ 50,000, 0 ≦ k ≦ n の条件を満たす。

2 行目は n 個の整数で構成される。 i 番目の整数が数列 αi 番目の要素 a_i を表す (1 ≦ i ≦ n)。 数列 α の要素 a_i は、0 ≦ a_i < 2^{63} の条件を満たす。

出力

各データセットについて、与えられた数列 α が k-sorted であるなら Yes を、そうでないなら No をそれぞれ 1 行に出力せよ。


入力例

3 0
1 2 3
3 0
2 1 3
3 1
2 1 3
3 1
3 1 2
3 2
3 1 2
1 1
1
1 0
1
0 0

-1 -1

出力例

Yes
No
Yes
No
Yes
Yes
Yes
Yes

Source name

Maximum-Cup 2013

Submit提出する