sjkim200209   1년 전

제목 그대로 PyPy3 에서는 메모리초과 뜨고 Python3에서는 정상적으로 AC 뜨는데

이유가 궁금해서 한번 질문 올려봅니다.

djm03178   1년 전

PyPy3는 기본적으로 사용하는 메모리가 큽니다. 게다가, PyPy3에서 sys.setrecursionlimit이 동작하는 원리는 그만큼의 재귀를 들어가더라도 스택 영역이 감당할 수 있을만큼 충분히 큰 크기의 메모리를 미리 확보해둔다는 뜻이기 때문에 이 수가 너무 크면 이 단계에서 바로 메모리를 너무 많이 할당받게 됩니다.

어차피 이 문제에서 들어가는 최대 재귀는 기껏해야 2500이므로 setrecursionlimit(10**4)로 해도 통과됩니다. 10**5로 해도 통과되지만, 사용된 메모리를 비교해보시면 어마어마한 차이가 나는 것을 보실 수 있습니다.

댓글을 작성하려면 로그인해야 합니다.