viewimage.php?id=3dae&no=24b0d769e1d32ca73cef8efa11d028311f263ed599921c6ba338f87093476b663cc464e06b223d126820db925eb86c45e1aab332f1b12f819da8fa1910dcf27795ab6738a05acf88b30450077a1624c94688b49ee55daeb60358ddbd1d8837b85c33c980


https://www.acmicpc.net/problem/2786

b를 기준으로 오름차순 정렬한 다음에 부분합 계산 해놓고



● b에서 [0, i-2] 구간을 더한 값과 [i-1, n-1] 구간에서 가장 작은 a값 더하기

● [0, i-1] 구간 중 가장 작은 a를 가진 인덱스를 찾음. 이걸 j라고 하면 [0, i-1] 구간 합에서 b[j]를 빼고 a[j]를 더함.

이 두가지 방법 중 더 작은것을 출력하면 될 거 같음

이런 식으로 하면 특정 구간에서 가장 작은 a를 찾아야 하는데

seg tree를 쓰면 될 것 같음







근데 다른사람들 제출한거 보면 코드 길이가 짧더라고
내가 생각한 방법으로 하면 엄청 길텐데

다른 방법이 있나


근데 왜 물음표 쓰면 글이 안써지냐 짜증나게