cksgnlcjswo   3년 전

문제는 이분탐색, 누적합으로 해결했습니다만,10~20줄로 실행하면 정답이고 23~30줄로 실행하면 특정 값에서 메모리 오류가 뜹니다.(구글링해도 잘 안나오네요..)

a.out: malloc.c:2379: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
Aborted (core dumped)

5 11

1 2 3 4 5

물론 문제에서 n이 10보다 큰 값이 주어진다고는 하지만 코드 상에서 위 입력값을 실행시키는데 문제가 없어보이는데요

10~20 번째 줄로 실행하니 정답은 받았는데 23~30줄이랑 차이가 없는 코드 같은데 위와 같은 에러가뜨는이유가 뭘까요..

실행을 따라가보니까 45번째줄까지는 가는데 여기서 에러가 납니다.

st42597   3년 전

벡터도 배열과 동일하게 크기를 n으로 잡으셨으면 0~n-1까지 사용할 수 있습니다.

정답이 되는 코드에서는 처음 0을 Push_back한 후 n개를 넣었으므로 크기가 n + 1가 되어 0~n까지 사용가능했던 것입니다.

cksgnlcjswo   3년 전

그러네요. 예제가 안돌아갔으면 바로 알았을텐데 특정값에서만 안되니 더 안보였던거 같네요 

답변감사합니다.

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