minjun623   6년 전

32비트 컴퓨터 에서

int가 -2^31 ~ 2^31-1, long이 -2^63~2^63-1까지 

64비트 컴퓨터에서 

int가 -2^63 ~ 2^63-1, long이 -2^63~2^63-1까지 저장 가능하다고 알고 있습니다.

근데 이문제에서 총합을 int형에서 long형으로 바꿔서 제출 하니까 맞았다고 뜨네요.

질문에서 요구 하는 경우의 최댓값이

99*999999보다 작을 수 밖에 없는데 이값이 2^31-1보다 작은데..

뭘까요?

cheetose   6년 전

쌍의 개수는 100*99/2=495000개까지 나올 수 있습니다.

djm03178   6년 전

https://www.acmicpc.net/board/...

int 범위를 초과할 수 있는가 봅니다. 검증해보진 않았지만 저도 처음에 int로 했다가 재채점 되면서 틀렸다고 나와서 long long으로 바꿔서 맞았습니다.

그리고, 64비트 운영체제라고 해서 꼭 int가 64비트일 필요도 없고, 32비트 운영체제라고 해서 long이 꼭 32비트일 필요는 없습니다. 채점 서버의 경우엔 64비트 운영체제이지만 int가 32비트, long이 64비트라고 알고 있습니다.

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