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


# Мониторы
# Сначала читаем 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

# Если нет мониторов
if N == 0:
    print(0)
else:
    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)