AtCoder ABC 178 B – Product Max Python解説

スポンサーリンク

Product Max

整数 a,b,c,d が与えられます。 a≤x≤b,c≤y≤d を満たす整数 x,y について、x×y の最大値はいくつですか。

AtCoder Beginner Contest 「Product Max」

xとyはそれぞれa≤x≤b,c≤y≤dの範囲を取りますが、x * yの最大値となるのはx = a, x = b, y = c, y = dの場合なので、a * c, a * d, b * c, b * dの最大値を求めればよいです。

a, b, c, d = map(int, input().split())

x = [a, b]
y = [c, d]

ans = a * c

for i in x:
    for j in y:
        ans = max(ans, i * j)
        
print(ans)

先述した通り、a * c, a * d, b * c, b * dの値を求めて、その中で最大値を出力します。
ansには暫定でa * cの値を最大値として格納しておきます。for文の2重ループでa *c, a * d, b * c, b * dをそれぞれ計算していき、max関数でansの値と比較していきます。最後にansを出力して完了です。