2869번 - 달팽이는 올라가고 싶다
안녕하세요 이 달팽이 문제에서
이진탐색으로 답을 찾고 있습니다...
근데 초기 right값을 제가 인트형변수의 가장 큰값으로 잡으면 답이 안나오고
저렇게 V/(A-B)+1 을 right값에 넣으면 정답이 나옵니다..
왜 왜왜 왜그런지 모르겠습니다..
일단 LONG_MAX 는 int형의 최댓값이 아닙니다. 어떤 환경에서는 둘이 같을 수도 있지만, 채점 환경에서 int는 4바이트고 long은 8바이트인 것으로 알고 있습니다.
INT_MAX를 쓴다고 하더라도, 오버플로가 생길 수 있습니다. 예를 들어, left가 INT_MAX / 2이고 right가 INT_MAX라면 left + right는 int형이 나타낼 수 있는 최대 범위를 넘어가버립니다.
감사합니다.. 해결됐습니다.
이게 오버플로 때문에 그러네요.. 감사합니다..
댓글을 작성하려면 로그인해야 합니다.
think91 6년 전
안녕하세요 이 달팽이 문제에서
이진탐색으로 답을 찾고 있습니다...
근데 초기 right값을 제가 인트형변수의 가장 큰값으로 잡으면 답이 안나오고
저렇게 V/(A-B)+1 을 right값에 넣으면 정답이 나옵니다..
왜 왜왜 왜그런지 모르겠습니다..