27, 28번째 줄에서 ret값에 각 나무에 대한 비용을 곱해서 저장하는 부분에서 문제가 있는 것 같아요
입력
5
2 3 0 1 4
출력
200
이 예제도 위의 코드로 돌려보면 틀리게 나와요.
그리고 27, 28번째 줄에서 어떤 문제가 있는지는 잘 모르겠지만
그냥 ret외에 다른 변수를 하나 선언어서 각 나무에 대한 비용을 저장해놓고,
ret은 각 나무에 대한 비용의 곱을 저장하는 용도로만 쓰시면 간단해져서 문제 생길 일이 거의 없을거에요.
27, 28줄만 수정하시면 맞으실 것 같아요
sksdong1 7년 전
펜윅트리로 풀었는데요.
현재 나무 위치 x를 기준으로 왼쪽으로는 (x보다 작은 나무의 수*x) - (x보다 작은 나무의 전체 길이)
오른쪽은 (x보다 큰 나무의 전체길이) - (x보다 큰 나무의 수 *x)
머가 문제일까요