83tachyon   3년 전

세그먼트 트리 활용하여 풀었습니다.

tree배열이 세그트리입니다. sz는 num(좌표의 최대값+1)을 아우르는 만큼 처음에 정해줍니다.

tree는 sz/2부터 각 좌표값이 인덱스이며 (좌표가 0이면 tree[sz/2]에 기록), 값으로는 0부터의 거리를 사용했습니다.

현재 인풋에서 받은 나무를 중심으로 좌측과 우측으로 나누어 세그트리 연산을 2번하여 합산하였습니다.

그리고 비용계산이 끝나면, 그 값을 ans에 곱해서 누적시켜주고,

질문게시판에 있는 모든 반례들은 확인하였습니다.

범위를 탐색하는데 있어 혹시 누락된 부분이 있는지도 확인하였습니다.

어느 부분이 잘못되었는지 모르겠습니다. 도움 부탁드립니다!

- 수정 -

오버플로우 해결하였습니다.

코드는 삭제하였습니다. 감사합니다.

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