1806번 - 부분합
문제는 이분탐색, 누적합으로 해결했습니다만,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번째줄까지는 가는데 여기서 에러가 납니다.
벡터도 배열과 동일하게 크기를 n으로 잡으셨으면 0~n-1까지 사용할 수 있습니다.
정답이 되는 코드에서는 처음 0을 Push_back한 후 n개를 넣었으므로 크기가 n + 1가 되어 0~n까지 사용가능했던 것입니다.
그러네요. 예제가 안돌아갔으면 바로 알았을텐데 특정값에서만 안되니 더 안보였던거 같네요
답변감사합니다.
댓글을 작성하려면 로그인해야 합니다.
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번째줄까지는 가는데 여기서 에러가 납니다.