Организация купила для своих сотрудников все места в нескольких подряд идущих рядах на концертной площадке. Известно, какие места уже распределены между сотрудниками. Найдите ряд с наибольшим номером, в котором есть два соседних места, таких что слева и справа от них в том же ряду места уже распределены (заняты). Гарантируется, что есть хотя бы один ряд, удовлетворяющий условию. В ответе запишите два целых числа: номер ряда и наименьший номер места из найденных в этом ряду подходящих пар.
В первой строке входного файла находится одно число: N — количество занятых мест (натуральное число, не превышающее 10000). В следующих N строках находятся пары чисел: ряд и место выкупленного билета (числа не превышают 100000).
В ответе запишите два целых числа: сначала максимальный номер ряда, где нашлись обозначенные в задаче места и минимальный номер места.
Добавлено: 17.04.26 21:08
Приведём программу на Python:
f = open("embed.txt")
N = f.readline()
a = []
for line in f.readlines():
a.append(list(map(int, line.split())))
a = sorted(a, key=lambda item: item[0] * 2**15 + item[1])
for i in range(len(a) - 1):
if a[i][0] == a[i + 1][0] and a[i][1] + 3 == a[i + 1][1]:
print(a[i], a[i + 1])Результат работы программы:
[2639, 2868] [2639, 2871]
[2949, 3632] [2949, 3635]
[3109, 2020] [3109, 2023]
[8297, 9644] [8297, 9647]
[8631, 7310] [8631, 7313]Заметим, что самый большой ряд - 8631. Между занятыми местами есть два пустых места. Следовательно, наименьший номер места 7311.
Ответ: 8631 7311
Автор - rubygem17
None