1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Bランク・スキルチェック見本問題セット(言語選択)
  4. 問題一覧 D(Beta)編
  5. 「長テーブルのうなぎ屋」を解くために:part6 D(Beta)編

Bランク・スキルチェック見本問題セットのサムネイル
「長テーブルのうなぎ屋」を解くために:part6 D(Beta)編(paizaランク B 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

これまでの問題では各グループの客がどの席に座るかを確認してきました。
次は座席が空いていた場合に座る処理を実装してみましょう。


1行目に座席の数を表す整数 n が与えられます。
2行目にグループの人数を表す a と、着席開始座席番号 b が与えられます。
3行目に n 席の座席の状況が空白区切りで与えられます。
a 人が全員座れる場合は Yes を、そうでない場合は Noを出力してください。
また座れる場合は a 人が着席した後の座席の状況を空白区切りで出力してください

入力される値

入力は以下のフォーマットで与えられます。

n
a b
s_1 s_2 ... s_n

・1 行目にそれぞれ座席の数を表す整数 n が与えられます。
・2行目には、グループの人数を表す整数 a と 着席開始座席番号 b が与えられます。
・3行目に n 席の座席の状況 s_i が空白区切りで与えられます。
・入力は合計で 3 行となり、入力最終行の末尾に改行が 1 つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

以下の形式で出力してください。

座れない場合
No

座れる場合
Yes
s_1 s_2 ... s_n

・ 出力最終行の末尾に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。

・1 ≦ n ≦ 100
・1 ≦ a ≦ n
・1 ≦ b ≦ n
・0 ≦ s_i ≦ 1

入力例1

6
2 3
1 0 0 0 1 0

出力例1

Yes
1 0 1 1 1 0

入力例2

7
2 5
0 1 0 1 1 0 0

出力例2

No

問題一覧へ戻る

ページの先頭へ戻る