13977번 - 이항 계수와 쿼리
안녕하세요. 문제를 풀다 이상한 증상이 보여서 질문드립니다.
VSCode에서 C++로 '13977 - 이항 계수와 쿼리' 문제를 풀고 있었습니다.
400만까지의 팩토리얼을 나머지연산 한 것들을 전처리 해야되는걸 알고 있던 문제라서 그대로 코드를 짰습니다.
그런데 VSCode에서 돌려보니 변수 입력을 받기도 전에 코드 돌린게 알아서 종료돼버렸습니다..
사이즈가 너무 커서 오류가 뜬건가 싶어 size를 4,000,001에서 100~1000정도로 낮춰보니 그때는 변수 입력도 잘 받고 코드 짠것도 잘 돌아갑니다..
VSCode에서는 안돌아가던 코드(size가 400만인 코드)를 혹시나 해서 그냥 제출해봤는데 정답을 받았습니다.
왜 이런 현상이 발생한걸까요? 제 VSCode 설정에 무슨 문제가 있었던걸까요? 2년 전쯤에 파이썬으로 제출했을때는 이런 일은 없었던거같은데..
(추가)
챗 지피티 센세께서 지역변수로 저장을 하면 스택메모리에 저장을 하는데 이 용량을 초과하면 스택 오버플로우가 난다고 답변을 해주셨습니다.
그래서 전역변수로 바꿔보니 VSCode에서도 잘 돌아가는걸 확인했습니다.
그런데 제 컴터에서 스택 오버플로우가 나던 코드를 백준에 제출하면 왜 멀쩡하게 잘 동작하는걸까요? 백준은 스택메모리 사이즈를 좀 넉넉하게 잡아주는 건가요?
(▽ 입력 받기도 전에 알아서 종료돼버리는 스샷)
실행파일은 PE헤더에 담긴 정보를 바탕으로 프로세스를 초기화 하는데 스택 관련 정보도 포함되어 있습니다
이 정보는 컴파일러마다 다르게 설정할 수 있고 같은 컴파일러라도 컴파일 옵션에 따라 달라집니다
로컬과 채점서버의 스택 사이즈에 차이가 있는건 컴파일러 혹은 컴파일 옵션을 확인해보세요
https://help.acmicpc.net/language/info
댓글을 작성하려면 로그인해야 합니다.
© 2026 All Rights Reserved. 주식회사 스타트링크 | 서비스 약관 | 개인정보 보호 | 결제 이용 약관 | 도움말 | 광고 문의 | 업데이트 노트 | 이슈 | TODO
한국어 | English (Beta)
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
dory 9달 전 0
안녕하세요. 문제를 풀다 이상한 증상이 보여서 질문드립니다.
VSCode에서 C++로 '13977 - 이항 계수와 쿼리' 문제를 풀고 있었습니다.
400만까지의 팩토리얼을 나머지연산 한 것들을 전처리 해야되는걸 알고 있던 문제라서 그대로 코드를 짰습니다.
그런데 VSCode에서 돌려보니 변수 입력을 받기도 전에 코드 돌린게 알아서 종료돼버렸습니다..
사이즈가 너무 커서 오류가 뜬건가 싶어 size를 4,000,001에서 100~1000정도로 낮춰보니 그때는 변수 입력도 잘 받고 코드 짠것도 잘 돌아갑니다..
VSCode에서는 안돌아가던 코드(size가 400만인 코드)를 혹시나 해서 그냥 제출해봤는데 정답을 받았습니다.
왜 이런 현상이 발생한걸까요? 제 VSCode 설정에 무슨 문제가 있었던걸까요? 2년 전쯤에 파이썬으로 제출했을때는 이런 일은 없었던거같은데..
(추가)
챗 지피티 센세께서 지역변수로 저장을 하면 스택메모리에 저장을 하는데 이 용량을 초과하면 스택 오버플로우가 난다고 답변을 해주셨습니다.
그래서 전역변수로 바꿔보니 VSCode에서도 잘 돌아가는걸 확인했습니다.
그런데 제 컴터에서 스택 오버플로우가 나던 코드를 백준에 제출하면 왜 멀쩡하게 잘 동작하는걸까요? 백준은 스택메모리 사이즈를 좀 넉넉하게 잡아주는 건가요?
(▽ 입력 받기도 전에 알아서 종료돼버리는 스샷)
preview