Minmax28. Дано целое число N и набор из N целых чисел, содержащий только нули и единицы. Найти номер элемента, с которого начинается самая длинная последовательность единиц, и количество элементов в этой последовательности. Если таких последовательностей несколько, то вывести номер последней из них. Если единицы в исходном наборе отсутствуют, то дважды вывести 0.

Решение на Python 3:

import random

N = random.randrange(2,20)
print("N = ",N)

x_prev = random.randint(0,1)
print(x_prev,end="; ");
if x_prev == 1:
largest = 1
temp_largest = 1
idx = 0
else:
largest = 0
temp_largest = 0
idx = -1
for i in range(1,N):
x = random.randint(0,1)
print(x,end="; ");
if x == x_prev:
temp_largest += 1
else:
if x == 0 and temp_largest >= largest:
largest = temp_largest
idx = i - largest
temp_largest = 1
x_prev = x
if x == 1 and temp_largest >= largest:
largest = temp_largest
idx = N - largest
if idx != -1:
print("\nLength of Largest Series of 1s:",largest)
print("Index:",idx)
else:
print("\n0; 0")