Задача по информатике нули и единицы в массиве

Есть массив, заполненный только 0 и 1. Про него известно, что первыми элементами является как минимум k нулей. Сумма порядковых номеров (индексов, увеличенных на 1) всех единиц - m. Нужно узнать, сколько минимально нужно оставить в массиве нулей, чтобы исходные k и m не изменились. Вот такой вариант для массива, для которого известны длина и порядок элементов. А как сделать такое же для любого произвольного массива?

def min_zeros_required(k, m): 
    total_ones = 0  # Суммарное количество единиц 
    current_sum = 0  # Текущая сумма индексов единиц 
 

    while current_sum < m: 
        total_ones += 1 
        current_sum += k + total_ones 
 

    if current_sum == m: 
        return k 

    excess = current_sum - m  # Насколько мы превысили m 
    return k + total_ones - excess  # Удаляем лишние нули 


k = int(input("Введите k: ")) 
m = int(input("Введите m: ")) 


min_zeros = min_zeros_required(k, m) 
print("Минимальное необходимое количество нулей:", min_zeros)


min_zeros = min_zeros_required(k, m) 
print("Минимальное необходимое количество нулей:", min_zeros)

Ответы (0 шт):