Aランク・スキルチェック過去問題セットのサムネイル
paizaラーニングのお得な使い方 Rust(Beta)編(paizaランク A 相当)

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

問題

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

これは、A ランクの問題として出題されていた問題です。試しに解いてみましょう。
現時点では自力で正解することができない場合は、この問題を飛ばして次の問題に進んでください。
後に続く 5 つの問題に順番に取り組むことで、この問題を解くために必要な知識や考えた方を身につけることができます。
A ランク獲得に向けた学習にお役立てください。


あなたは paiza ラーニングでプログラミング学習を始めようとしています。

次の表のように、paiza ラーニングの有料プランには 3 つの利用プランがあり、プランごとに利用期間と料金が決まっています。



ただし、キャンペーンにより、初めて有料プランを利用するときに、1 ヶ月プランを利用し、解約せずに 2 ヶ月目を利用すると、2 ヶ月目の料金が無料になります。
また、各プランの料金の払い戻しはできないため、12 ヶ月プランを 11 ヶ月だけ利用して途中で解約した場合でも、7,200 円の料金が発生します。

あなたは A ヶ月と B ヶ月の間に解約をはさんで有料プランを利用しようとしています。A ヶ月と B ヶ月はどちらから利用してもかまいません。

すなわち、次のどちらかの方法で有料プランを利用します。
・ A ヶ月利用し、解約してから、さらに B ヶ月利用する
・ B ヶ月利用し、解約してから、さらに A ヶ月利用する

いくつか具体的な利用例を考えてみましょう。

1 つ目の利用例として、A = 1, B = 2 の場合を考えます。
この場合に、1 ヶ月プランを 1 回利用し、解約してから、さらに 1 ヶ月プランを 2 回利用することで、2,640円かかります。
一方で、A と B の利用順序を入れ替えて、1 ヶ月プランを 2 回利用し、解約してから、さらに 1 ヶ月プランを 1 回利用すると 1,760円となり、お得になります。



2 つ目の利用例として、A = 11, B = 0 の場合を考えます。
この場合に、1 ヶ月プランを 5 回利用し、続けて、6 ヶ月プランを 1 回利用すると 7,600 円かかります。
一方で、12 ヶ月プランを 1 回利用し、11 ヶ月経ってから解約すると 7,200 円となり、お得になります。



3 つ目の利用例として、A = 5, B = 14 の場合を考えます。
この場合に、1 ヶ月プランを 5 回利用し、解約してから、さらに 12 ヶ月プランを 1 回と 1 ヶ月プランを 2 回利用することで、12,480円かかります。
一方で、A と B の利用順序を入れ替えて、1 ヶ月プランを 2 回と 12 ヶ月プランを 1 回利用し、解約してから、さらに 6 ヶ月プランを 1 回利用すると 12,160円となり、お得になります。



せっかくなので、最もお得に有料プランを利用したいですよね?
A ヶ月と B ヶ月の間に解約をはさんで有料プランを利用するときの最小の料金を出力してください。A ヶ月と B ヶ月はどちらから利用してもかまいません。

入力される値

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

A B


・ 有料プランへの加入月数 A, B が与えられます。入力は 1 行となり、末尾に改行が 1 つ入ります。


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

・ 1行目では、A ヶ月と B ヶ月の間に解約をはさんで有料プランを利用するときの最小の料金を出力してください。A ヶ月と B ヶ月はどちらから利用してもかまいません。
・ 2行目では、解約までに利用するプランを順に半角スペース区切りで表示してください。
・ 3行目では、解約してから利用するプランを順に半角スペース区切りで表示してください。
  ・ ここで表示するプランとは、X ヶ月プランなら X のことです。
  ・ ただし、B = 0で解約後に利用するプランがない場合は、A ヶ月から利用し、3行目では 0 を表示してください。
・ 各行の出力の最後に改行を入れ、余計な文字、空行を含んではいけません。

条件

すべてのテストケースにおいて、以下の条件をみたします。
・ 1 ≦ A ≦ 1,000
・ 0 ≦ B ≦ 1,000

入力例1

1 2

出力例1

1760
1 1
1

入力例2

11 0

出力例2

7200
12
0

入力例3

5 14

出力例3

12160
1 1 12
6

問題一覧へ戻る

  1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Aランク・スキルチェック過去問題セット(言語選択)
  4. 問題一覧 Rust(Beta)編
  5. paizaラーニングのお得な使い方 Rust(Beta)編
ページの先頭へ戻る