Загрузка данных


# Мониторы
# Сначала читаем N и K
N, K = map(int, input().split())

# Затем читаем массив громкостей мониторов
monitors = list(map(int, input().split()))

half = N // 2

def can_achieve(target):
    needed = 0
    for i in range(half):
        needed += max(0, target - monitors[i])
    return needed <= K

left = monitors[0]
right = monitors[0] + K + 1

while left < right:
    mid = (left + right + 1) // 2
    if can_achieve(mid):
        left = mid
    else:
        right = mid - 1

print(left)