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: