B - 情報の伝達 Editorial by potato167


パ研君が情報を得てからちょうど \(t\) 分後に情報を手に入れた人の人数を \(p_{t}\) 人とします。

この定義より \(p_{0}=1\) です。

情報を知った人はちょうど 1 分後に5 人の市民に情報を伝えることから、 \(p_{t+1}=p_{t}\times 5\) が成り立ちます。

よって、 \(p_{t}=5^{t}\) です。

答えは \(\sum_{t=0,...,N}p_{t}\) なので、 for 文などを用いてこれを出力すれば良いです。

計算量は \(O(N)\) です。

N=int(input())
ans=0
pt=1
for i in range(0,N+1):
  ans+=pt
  pt*=5
print(ans)

実は答えは以下のような式で表すことができるので、計算量 \(O(\log(N))\) でも求めることができます。

N=int(input())
print((pow(5,N+1)-1)//4)

posted:
last update: