하다가 짜증나서 그냥 대충 범위 설정하고 틀리면 포기할려 했는데 맞네?

이런 풀이도 맞은걸로 생각해야하나


https://www.acmicpc.net/problem/14708

import math
n=int(input())
n1=math.floor(n**(1/3))
result=[]
INF=10**20
for x in range(-1000,1000):
    for y in range(-1000,1000):
        nx=n1+x
        ny=n1+y
        if nx<=0 or ny<=0:
            continue
        nz=math.ceil(n/(nx*ny))+1
        while (nz-1)*nx*ny>=n:
            nz-=1
        a=[nx,ny,nz]
        a.sort()
        anum=nx*ny+nx*nz+ny*nz
        if INF>anum:
            INF=anum
            result=[a]
        elif INF==anum:
            result.append(a)
result.sort(key = lambda x: (x[0],x[1],x[2]))
print(*result[0])