AtCoder Beginner Contest 006

C - スフィンクスのなぞなぞ


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

問題文

新学期に向けて新たな気持ちで通学しているあなたの前に、スフィンクスが立ちふさがっています。
このスフィンクスは「なぞなぞ」を出すことで有名で、このなぞなぞに答えられない場合、留年します。

なぞなぞは以下のとおりです。
「この街には人間が N 人いる。人間は、大人、老人、赤ちゃんの 3 通りだ。
この街にいる人間の、足の数の合計は M 本で、大人の足は 2 本、老人の足は 3 本、赤ちゃんの足は 4 本と仮定した場合、存在する人間の組み合わせとしてあり得るものを 1 つ答えよ。」

新学期早々留年したくないあなたは、このなぞなぞに正解する必要があります。
なぞなぞの答えとなる「この街に存在する人間の組み合わせ」を 1 つ出力してください。
もし、そのような組み合わせが存在しない場合は-1 -1 -1と出力してください。


入力

入力は以下の形式で標準入力から与えられる。
N M
この街に住んでいる人間の数 N(1≦N≦10^5)、この街に住んでいる人間の足の本数 M(1≦M≦5 \times 10^5) が半角スペース区切りで 1 行で与えられる。
  • NM は整数である。
  • この問題には部分点が設定されている。後述する部分点の項も参照すること。

出力

なぞなぞの答えとなる「この街に存在する人間の組み合わせ」を 1 つ出力してください。
出力形式は、「大人の数 老人の数 赤ちゃんの数」順番で、半角スペース区切りで 1 行に出力してください。
もし、そのような組み合わせが存在しない場合は -1 -1 -1 と出力してください。

出力の末尾には改行を入れること。

部分点

この問題には 3 つのデータセットがあり、データセット毎に部分点が設定されている。

  • N(1≦N≦100)M(1≦M≦500) を満たすデータセット全てに正解すると、10 点が与えられる。
  • N(1≦N≦1,500)M(1≦M≦7,500) を満たすデータセット全てに正解すると、上記のデータセットとは別に 20 点が与えられる。
  • 全てのデータセットに正解すると、100 点が与えられる。

入力例 1

3 9

出力例 1

1 1 1

入力は、人間が 3 人いて、足の数の合計が 9 本であることを示します。

出力は、大人が 1 人、老人が 1 人、赤ちゃんが 1 であることを示しています。

  • 大人 1 人の足の数は 2 本。
  • 老人 1 人の足の数は 3 本。
  • 赤ちゃん 1 人の足の数は 4 本。

人間の数が 3 人で、足の数を 9 本とする組み合わせの例です。


入力例 2

7 23

出力例 2

1 3 3
  • 大人 1 人の足の数は 2 本。
  • 老人 3 人の足の数は 9 本。
  • 赤ちゃん 3 人の足の数は 12 本。

入力例 3

10 41

出力例 3

-1 -1 -1
  • なぞなぞの答えとなる組み合わせは存在しません。

Submit提出する