難易度評価

難易度を1〜10段階で評価できます。投票はあとから変更・取り消しできます。

難易度(投票) 未投票 (0票)

投票の分布

まだ投票はありません。

  1. Lv.10票
  2. Lv.20票
  3. Lv.30票
  4. Lv.40票
  5. Lv.50票
  6. Lv.60票
  7. Lv.70票
  8. Lv.80票
  9. Lv.90票
  10. Lv.100票

難易度の目安を見る ↗

ログインして難易度を投票

外部サイトへ移動します

リンク先の URL を確認してから開いてください。

別タブで開く

Minimum Permutation

作成者 p0njuice

難易度(作成者設定) Lv.4

難易度(投票) 未投票 (0票)

実行時間制限
2 秒
メモリ制限
512 MiB

問題文

正整数 N,X,Y,KN,X,Y,K が与えられます。

(1,2,…,N)(1,2,\ldots,N) の順列 P=(P1,P2,…,PN)P=(P_1,P_2,\ldots,P_N) であって ∣PX−PY∣≤K|P_X-P_Y|\le K を満たすもののうち、辞書順最小となるものを求めてください。

TT 個のテストケースが与えられるので、それぞれについて答えてください。

制約

  • 1≤T≤1051\le T\le 10^5
  • 2≤N≤2×1052\le N\le 2\times 10^5
  • 1≤X<Y≤N1\le X<Y\le N
  • 1≤K<N1\le K<N
  • 全てのテストケースにおける NN の総和は 2×1052\times 10^5 以下
  • 入力される値は全て整数

入力

入力は以下の形式で標準入力から与えられる。

TT case1\mathrm{case}_1 case2\mathrm{case}_2 ⋮\vdots caseT\mathrm{case}_T

各テストケース caset (1≤t≤T)\mathrm{case}_t ~ (1 \leq t \leq T) は以下の形式で与えられる。

NN XX YY KK

出力

TT 行出力せよ。 tt 行目には tt 番目のテストケースにおける答えとなる PP の各要素を順に空白区切りで出力せよ。

サンプル 1

入力

3
5 1 5 2
2 1 2 1
7 2 6 2

出力

1 2 4 5 3
1 2
1 2 3 5 6 4 7

11 番目のテストケースについて考えます。

P=(1,2,4,5,3)P=(1,2,4,5,3) は ∣P1−P5∣=2≤2|P_1-P_5|=2\le 2 を満たし、これが辞書順最小です。