think91   6년 전

안녕하세요 이 달팽이 문제에서


이진탐색으로 답을 찾고 있습니다...


근데 초기 right값을 제가 인트형변수의 가장 큰값으로 잡으면 답이 안나오고


저렇게 V/(A-B)+1 을 right값에 넣으면 정답이 나옵니다..


왜 왜왜 왜그런지 모르겠습니다..

djm03178   6년 전

일단 LONG_MAX 는 int형의 최댓값이 아닙니다. 어떤 환경에서는 둘이 같을 수도 있지만, 채점 환경에서 int는 4바이트고 long은 8바이트인 것으로 알고 있습니다.

INT_MAX를 쓴다고 하더라도, 오버플로가 생길 수 있습니다. 예를 들어, left가 INT_MAX / 2이고 right가 INT_MAX라면 left + right는 int형이 나타낼 수 있는 최대 범위를 넘어가버립니다.

think91   6년 전

감사합니다.. 해결됐습니다.


이게 오버플로 때문에 그러네요.. 감사합니다..

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