n = int(input())
request = list(map(int, input().split()))
m = int(input())
l = 0
r = max(request)
ans = 0
while l <= r:
mid = (l + r)//2
tmp = 0
for i in request:
if i < mid:
tmp += i
else:
tmp += mid
if tmp <= m:
l = mid + 1
ans = mid
else:
r = mid - 1
print(ans)
이분탐색을 이용해 해결