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


import sys
import heapq

def solve():
    # Быстрый ввод данных
    input = sys.stdin.read
    data = input().split()
    if not data:
        return
    
    n = int(data[0])
    q = int(data[1])
    
    # Считываем начальные скоры кандидатов
    a = [int(x) for x in data[2:2+n]]
    
    # Превращаем список в min-heap за O(n)
    heapq.heapify(a)
    
    lazy_shift = 0
    idx = 2 + n
    
    output = []
    
    # Поочередно обрабатываем q запросов
    for _ in range(q):
        type_action = int(data[idx])
        if type_action == 1:
            x = int(data[idx+1])
            lazy_shift += x
            idx += 2
        else:
            # Извлекаем минимальный элемент из кучи
            min_val = heapq.heappop(a)
            # Реальное значение с учетом всех прошлых прибавок
            output.append(str(min_val + lazy_shift))
            idx += 1
            
    # Выводим результат
    sys.stdout.write('\n'.join(output) + '\n')

if __name__ == '__main__':
    solve()