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を出力して完了です。