Менеджеры интернет-магазина составляют рейтинговый список новых моделей смартфонов по данным о продолжительности автономной работы устройства в режиме ожидания и в активном режиме использования. У каждой модели известны оба показателя. Для объективности бренды и марки устройств скрыты, в списке все смартфоны пронумерованы начиная с единицы.
Алгоритм формирования рейтинга выглядит следующим образом:
Определите порядковый номер смартфона, чей рейтинг будет определён последним, и количество устройств, занявших позиции ниже него. Запишите в ответе два натуральных числа: сначала номер последнего устройства, для которого будет определено его место в рейтинге, затем количество устройств, которые займут в рейтинге более низкие места.
Входные данные
В первой строке входного файла находится натуральное число \(N\) \((N \leqslant 1000)\) — количество смартфонов. Следующие \(N\) строк содержат пары чисел, обозначающих соответственно продолжительность работы устройства в режиме ожидания в режиме активного использования (все числа натуральные, различные).
Решение:
Python
fd = open('26.txt')
N = int(fd.readline())
data = []
k = 0
for line in fd:
k += 1
a, w = map(int, line.split())
if a < w:
data.append((a, 'a', k))
else:
data.append((w, 'w', k))
data.sort()
ans1 = data[-1][2]
# Более длинный код
#
# rating = [None] * (N + 1)
# p1 = 1
# p2 = N
# last = 0
# for x, r, n in data:
# if r == 'w':
# rating[p1] = n
# last = p1
# p1 += 1
# else:
# rating[p2] = n
# last = p2
# p2 -= 1
# print(ans1, N - last)
# Более низкие места в рейтинге - это места с бОльшими номерами,
# чем последний смартфон, попавший в рейтинг
ca = len([sm for sm in data if sm[1] == 'a'])
if data[-1][1] == 'w':
print(ans1, ca)
else:
print(ans1, ca - 1)
Ответ: \(667 \,\, 478\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене