난 아직도 내가 작성한 코드가 왜 틀리는 지를 모르겠다/ 그래도 일단 기록은 해둠
-> 해결완/ 1e9, -1e9 설정할 때 저게 float 타입이라 int(1e9), int(-1e9) 해줘야함
import sys
def dfs(depth, result, op1, op2, op3, op4):
global max_result
global min_result
if depth == N:
max_result = max(max_result, result)
min_result = min(min_result, result)
return
if op1:
dfs(depth + 1, result + A[depth], op1 - 1, op2, op3, op4)
if op2:
dfs(depth + 1, result - A[depth], op1, op2 - 1, op3, op4)
if op3:
dfs(depth + 1, result * A[depth], op1, op2, op3 - 1, op4)
if op4:
dfs(depth + 1, int(result / A[depth]), op1, op2, op3, op4 - 1)
N = int(input())
A = list(map(int, input().split()))
operator = list(map(int, input().split())) #+, -, x, /
max_result = int(-1e9)
min_result = int(1e9)
dfs(1, A[0], operator[0], operator[1], operator[2], operator[3])
print(max_result)
print(min_result)