ABC138 B - Resistors in Parallel
備忘録
問題
回答
import sys import os def main(): if os.getenv("LOCAL"): sys.stdin = open("input.txt", "r") N = int(sys.stdin.readline().strip()) AList = list(map(int, sys.stdin.readline().split())) s = [1/a for a in AList] print(1/sum(s)) if __name__ == '__main__': main()
考え方
配列A
の値が分母となる。
そのため、配列A
の値をfor
文で順に取り出す。
取り出した値(a
)で1
を割ることで、分数から小数点数型にすることができる。
あとはすべてのa
を小数点数型にした値の合算で1
を割ることで答えを求めることができる。
ちなみに、s = [1/a for a in AList]
はワンラインで配列を作成する書き方。
配列AList
の値を順に取り出し(a
)、1/a
の結果を配列s
の末尾に追加している。