masuTomo’s blog

競技プログラミングの勉強メモです.主にPythonを使用します.数学の記事も書くかもしれません.

ARC013 B - 引越しできるかな? 解説

はじめに

書くつもりはなかったが,公式解説がないようなのでメモ程度に書いてみることにした.

問題

ARC013 B - 引越しできるかな?

解法

各荷物の3辺において必ず

1番長い辺 2番目に長い辺 3番目に長い辺

が存在する(同じ長さがあれば,それらの順位付けは勝手に決めてよい).

荷物 iについて

 l_{i} : 1番長い辺

 m_{i} :2番目に長い辺

 n_{i} :3番目に長い辺

として, [ tex: l_ {i} , m_ {i} , n_ {i} ]の最大値をそれぞれ求めて,それらを3辺の長さとする箱が必要である. (数式表示がうまくいきません,ごめんなさい)

実装

C = int(input())
l_max = 0
m_max = 0
n_max = 0
for _ in range(C):
    size = list(map(int,input().split()))
    size.sort()
    l_max = max(size[0],l_max)
    m_max = max(size[1],m_max)
    n_max = max(size[2],n_max)

print(l_max*m_max*n_max)