ABC159 C - Maximum Volume

備忘録

問題

atcoder.jp

回答

import sys
import os


def main():
    if os.getenv("LOCAL"):
        sys.stdin = open("input.txt", "r")

    L = int(sys.stdin.buffer.readline().rstrip())
    print(L ** 3 / 27)


if __name__ == '__main__':
    main()

考え方

縦 = 横 = 高さ の時、体積が最大になる。
(何となく直感的にそう感じたので、そのまま実装したが、
相加相乗平均なる公式で証明できるらしい。。)

つまり、1辺 = L/3なので
(L/3)^3 = L ** 3 / 27として答えを求めることができる。