# PROBLEM - 나무자르기
# TIER - S2
# NUMBER - 2805
# DATE - 2022-08-10 22:24
# IDEA - 또 이분탐색 웰노운
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
tree = list(map(int, input().split()))
tree.sort() # 정렬 중요!
left, right = 0, tree[-1] # 시작점 : 0, 끝점 : 배열에서 가장 큰 원소
while left <= right:
mid = (left+right) // 2
total = 0
for i in tree: # 잘린 나무 길이의 총합을 total에 저장
cut = i-mid # 혹시나 음수 저장될까봐 예외처리
if cut > 0:
total += cut
if total < M: # 자른 길이가 부족하다면 ?
right = mid - 1 # right를 줄임 -> mid가 줄어듬 -> 자르는 길이는 늘어남
else: # 자른 길이가 충분하다면 ?
left = mid + 1 # 위의 원리와 반대
print(right)