https://www.acmicpc.net/problem/2805 이분 탐색으로 찾는다. n,m=map(int,raw_input().split()) tree = map(int,raw_input().split()) l,h = 0,1000000000 while l mid: s += tree[i]-mid if s >= m: l = mid else: h = mid if bl==l and bh==h: break print lhttps://www.acmicpc.net/problem/9184 괜찮은 문제 중 하나라고 생각한다. 재귀함수가 있을때 이것을 메모이제이션 하는 방법을 묻는 문제이다. ..