[파이썬] 시간초과 질문 하나만 할게요 ㅜㅜ

백준 문제 풀다가 시간초과가 계속 나서 질문드립니다.
https://www.acmicpc.net/problem/15658
위는 해당 문제의 링크입니다.
예제는 모두 통과하는데 시간초과를 어떻게 해결할 수 있을까요?
도와주세요 고수님들 ㅜㅜ

from itertools import permutations
import sys

N = int(sys.stdin.readline())
A = list(map(int, sys.stdin.readline().split()))
plus, minus, multiple, division = map(int, sys.stdin.readline().split())

operation_list = []
operation_list += [1]*plus
operation_list += [2]*minus
operation_list += [3]*multiple
operation_list += [4]*division

operation_set = []
operation_set = list(set(permutations(operation_list, N-1)))

max_answer = -1000000001
min_answer = 1000000001
for case in operation_set:
    answer = A[0]

    for i in range(N-1):
        if case[i] == 1:
            answer += A[i+1]
        elif case[i] == 2:
            answer -= A[i+1]
        elif case[i] == 3:
            answer *= A[i+1]
        else:
            if answer<0:
                answer = -(-answer//A[i+1])
            else:
                answer //= A[i+1]
    
    if answer<min_answer:
        min_answer = answer
    if answer>max_answer:
        max_answer = answer

print(max_answer)
print(min_answer)

저도 우연히 비슷한 문제를 오늘 겪었는데…

print(머시기) 하면 표준 출력으로 바로 나오나 했는데 바로 출력이 안되 길래 찾아 봤더니,

python 버전 3 이상이면 print(머시기, flush=True) 요렇게 하면 바로 출력 합니다. 표준 출력으로 내보 낼 때 버퍼링을 안하고 바로 내보내는 것 같습니다.

python 버전 2의 경우는 아랫 분이 설명해 주실 것 같습니다.