При проведении эксперимента заряженные частицы попадают на чувствительный экран, представляющий из себя матрицу размером 100 000 на 100 000 точек. При попадании каждой частицы на экран в протоколе фиксируются координаты попадания: номер ряда (целое число
Точка экрана, в которую попала хотя бы одна частица, считается светлой, точка, в которую ни одна частица не попала, — тёмной.
При анализе результатов эксперимента рассматривают линии. Линией называют группу светлых точек, расположенных в одном ряду подряд, то есть без тёмных точек между ними. Линия должна содержать не менее
Вам необходимо по заданному протоколу определить наибольшее количество линий, расположенных в одном ряду, и номер ряда, в котором это количество встречается. Если таких рядов несколько, укажите максимально возможный номер.
Входные данные.
Первая строка входного файла содержит целое число N — общее количество частиц, попавших на экран. Каждая из следующих
В ответе запишите два целых числа: сначала максимальное количество линий в одном ряду, затем — номер ряда, в котором это количество встречается.
Ответ:
Приведем решение на языке Python.
f = open('26.txt').readlines()[1:]
Sl = {i: [] for i in range(1, 10**5 + 1)}
for i in f:
ind, v = map(int, i.split())
Sl[ind] += [v]
def func(v):
st = ''
for x, y in zip(v, v[1:]):
st += '*' if x + 1 == y else '* '
return len([1 for s in (st + '*').split() if len(s) >= 4])
Sl = {i: func(sorted(set(v))) for i, v in Sl.items()}
print((t:=max(Sl.values())),\
list(Sl.keys())[::-1][list(Sl.values())[::-1].index(t)])
Ответ: 6 27692.

