jerryprk   3년 전


int : 2,147,483,647 

ll   : 9,223,372,036,854,775,807

입력자료가 10억~10억사이인데 int로선언시 삑나는 이유가 무엇인가요?

yj9404   3년 전

10억짜리 3개를 더하면 int 범위를 벗어나네요.

jerryprk   3년 전

결과값 저장하는 result라는 변수는 long long으로 당연히 설정햇습니다!!
제가궁금한부분이

입력부분인데

각 자료가 -10억~10억 사이의 int형에 포함되는 값들인데
이를 포함하는 배열선언시

왜 int형이 아닌 long long으로 설정해주어야하는지 궁금합니다!

배열선언시 배열에 해당되는 모든값을 더했을때의 범위로 자료형을 선택해야하나요?

소스코드를 추가안해놔서 소스코드 추가하겟습니다!

yj9404   3년 전

34번째 줄에서 오버플로우가 납니다. 

ll result = (ll)solution[i] + solution[left] + solution[right];로 한번 해보세요

jerryprk   3년 전

대박이군요.. 생각지도못한곳에서 오버플로우발생하는군요 감사합니다 

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