opop20207   4년 전

코드가 다소 길지만 양해 부탁드립니다.

좌표를 관리하는 세그먼트 트리로 나무를 관리합니다.

첫번째 나무를 심고

두번째 나무부터 자신보다 작은 나무의 개수와 자신보다 작은 나무의 좌표를 전부 더합니다.

cret1에는 (자신보다 작거나 같은 좌표의 나무의 개수) * (현재 심으려는 좌표) - (자신보다 작거나 같은 나무들의 좌표의 합)

cret2에는 (자신보다 큰 나무들의 좌표의 합)  - (자신보다 큰 좌표의 나무의 개수) * (현재 심으려는 좌표)

을 계산해

최종 ret값엔 cret+cret2를 더한값을 곱해넣습니다.

ret값이 1로초기화되어있기때문에 0의 예외도 처리했습니다. 어디서 오류가 있는걸까요? 조언부탁드립니다.

,,,,,,,,,,,,,,,,

조금씩 수정하고 있지만 틀렸네요

해결했습니다. 아직 왜그런진 모르겠습니다만 이상하게 조금 수정해주니 맞았다고 뜨네요.

코드는 지우겠습니다.

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