В новой современном городе строят новую современную скоростную трассу длиной
s метров.
Всего с камер были получены данные для
n машин, и по каждой из них была информация во сколько она заехала на трассу и с какой скоростью двигалась в метрах в секунду.Получив эту информацию, было решено узнать максимальную нагрузку в какую-то из секунд на трассе. Напишите программу, определяющую максимальную нагрузку на трассу в какую-то из секунд.
В первой строке вводится два целых числа n и s – количество машин и длина трассы соответственно через пробел.
в следующих n строках вводятся t и v – время въезда машины на трассу и ее скорость
python
class Event:
def __init__(self, time, car, event_type, distance):
self.time = time
self.car = car
self.event_type = event_type
self.distance = distance
def main():
n, s = map(int, input().split())
events = []
for _ in range(n):
t, v = map(int, input().split())
distance = v * (s - t)
event_in = Event(t, None, "in", 0)
event_out = Event(t + distance / v, None, "out", distance)
events.append(event_in)
events.append(event_out)
events.sort(key=lambda x: x.time)
count = 0
max_count = 0
for event in events:
if event.event_type == "in":
count += 1
elif event.event_type == "out":
count -= 1
if count > max_count:
max_count = count
print(max_count)
if __name__ == "__main__":
main()
Таким образом, программа будет принимать на вход количество машин и длину трассы, а затем данные для каждой машины (время въезда и скорость). После обработки данных программа будет выводить на экран максимальную нагрузку на трассу в какую-то из секунд.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет