n, m = list(map(int,input().split(' ')))
arr = list(map(int, input().split()))
start = 0
end = max(arr)
result = 0
while start <= end:
mid = (start+end) // 2 # 중간 값을 구한다
# 중간값으로 잘랐을때의 합계를 구한다
total = sum([i-mid for i in arr if i>mid])
# 합계가 더 작다면 더 많이 잘라야 한다
if total < m:
end = mid - 1
# 합계가 더 크다면 덜 잘라도 된다
else:
start = mid + 1
result = mid
print(result)