저도 c++해서 못 푼 사람입니다.
매우 큰 숫자로 시도해보니 __int128을 사용해도 결과가 나오지 않았습니다. 입력 범위가 10^18이라 제곱을 하게 되면 overflow가 일어나는 것 같습니다. 전에 글 쓴 분께서는 플라드 로에서 루프가 생기는 부분을 해결했다고 하셨는데 저는 어떻게 하는지 잘 모르겠군요.
파이썬은 정수 크기가 제한이 무제한인 걸로 알고 있는데, 이 때문에 파이썬에서는 결과를 내주는 것 같습니다.
실제로 파이썬으로 실행해보니, c++과는 다르게 결과를 보여주더군요. (질문 글 중 테스트 케이스 모음 중 매우 큰 수를 이용했습니다.)
kimhs 2년 전
똑같은 로직으로 구현했는데 c++에서는 시간초과가 납니다.
혹시 vector를 처리하는 부분이 문제인 건가요?