2023. 4. 29. 21:33, 알고리즘/BOJ
이렇게 잡으면 정상적으로 동작하는 프로그램이
이렇게 하면 정상적으로 동작하지않고 바로 종료되는 부분에 대해서 아무래도 스택메모리와 힙 메모리의 설정되는 영역의 차이, 그리고 visual studio 2019 기본적으로 세팅되어있는 stack 메모리 제한이 문제인것 같아서 관련되어서 한번 검색을 해보았다.
스택 메모리가 기본으로 1mb 할당이라고 하는데 내가 main 내부에 잡은 int 배열이 1'000'005개라 이 용량이 대략 4mb에 해당한다. 그러한 이유로 프로그램이 정상적으로 동작하지 않는 것으로 보인다. 큰 크기의 배열을 잡을때는 전역변수에 잡도록 하자. 물론 이게 visual studio상의 기본값이 작아서 그렇지 이거 해제할 수 있다고 들었고, 채점서버는 제한이 없다고 했으니까 코딩테스트 할때는 문제는 없을 것이다.
**main 내부에 int d[1'000'005]를 잡아서 boj에 제출해도 정상적으로 성공으로 나온다.
'알고리즘 > BOJ' 카테고리의 다른 글
long long 타입으로 선언한 변수에 값을 할당할때 LL을 붙이도록 하자. (0) | 2023.04.30 |
---|---|
c++ max()와 *max_element() 에 대해서 (0) | 2023.04.30 |
c++ min(), max()에 3개 이상의 인자를 넘길때의 방법. (0) | 2023.04.29 |
c++ 128mb가 주어졌을때 만들수 있는 int 타입 변수의 갯수. (0) | 2023.04.28 |
c++ 2667번 문제 풀면서 내가 수정해야 할 사항들. (0) | 2023.04.27 |
Comments, Trackbacks