No.2516 Credit Creation
タグ : / 解いたユーザー数 164
作問者 : MasKoaTS / テスター : Shirotsume fky_
問題文
うりぼー王国には $1,2,\dots,N$ の番号が付いた $N$ 個の銀行があります。
うりぼー王国では通貨の単位として「ビーフ」が用いられており、その量は非負の実数値で表されます。
最初、銀行 $1$ の預金額は $100$ ビーフであり、それ以外のすべての銀行の預金額は $0$ ビーフです。
これらの銀行について、$i=1,2,\dots,N$ の順に次の操作が行われます。
銀行 $i$ の預金額を $x$ ビーフとする。初めに、銀行 $i$ は帳簿に $x$ を書き込む。次に、銀行 $i + 1$ が存在するならば銀行 $i$ は $Rx$ ビーフを手元に残し、 $(1 - R)x$ ビーフを銀行 $i+1$ に預ける。
この操作の後、銀行 $i+1$ の預金額は $(1-R)x$ ビーフとなる。
うりぼー王国の総預金額を、この操作の過程で帳簿に書き込まれた実数の総和とします。この値を求めてください。
制約
$2 \leq N \leq 100$
$N$ は整数
$0 < R < 1$
$R$ は小数部の桁数が高々 $2$ である実数
入力
入力は次の形式で与えられます。
$N$ $R$
$1$ 行目には $N$ が与えられる
$2$ 行目には $R$ が与えられる
出力
答えを $1$ 行に出力し、最後に改行してください。
出力された値については、想定解答との絶対誤差または相対誤差が $10^{−9}$ 以下であれば正解と判定されます。
なお、本問の想定解答は必ず真の値に等しいことが保証されます。
サンプル
サンプル1
入力
3 0.05
出力
285.25
最初、銀行 $1$ の預金額は $100$ ビーフであり、銀行 $2, 3$ の預金額はともに $0$ ビーフです。
銀行 $1$ は 実数 $100$ を帳簿に書き込んでから、$100 \times (1 - 0.05) = 95$ ビーフを銀行 $2$ に預けます。
これにより、銀行 $2$ の預金額は $95$ ビーフとなります。
次に、銀行 $2$ は 実数 $95$ を帳簿に書き込んでから、$95 \times (1 - 0.05) = 90.25$ ビーフを銀行 $3$ に預けます。
これにより、銀行 $3$ の預金額は $90.25$ ビーフとなります。
最後に、銀行 $3$ は実数 $90.25$ を帳簿に書き込みます。銀行 $4$ は存在しないので、操作はこれで終了します。
以上より、総預金額は $100 + 95 + 90.25 = 285.25$ ビーフとなります。
サンプル2
入力
30 0.3
出力
333.325820219903102580637378917
本問の想定解答は必ず真の値に等しいことが保証されますが、出力された値が想定解答と完全に一致しない場合でも、
想定解答との絶対誤差または相対誤差が $10^{−9}$ 以下であれば正解と判定されます。
C++でstd::coutを用いる場合、出力値の表示桁数に注意してください。
サンプル3
入力
100 0.99
出力
101.0101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101010101
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。