Codeforces Round #763 (Div. 2) C. Balanced Stone Heaps
Solution
i ... 2
로 돌을 나눠준다 라고 생각하면 min(arr[i], arr[i] + b[i] - m)/3 == di
라는 공식을 세울 수 있다.
- arr[i] + b[i] - m : 뒤에 돌들에게서 받을 최대 돌들 + 현재 자신의 돌 - m. 즉 여분의 돌들.
- arr[i] : 힙에서 할당받아 최대로 줄 수 있는 돌. 부족한건 b[i] >= m 이므로 괜찮음.
c++
1 |
|