Есть готовый работающий код, но необходимо ускорить его выполнение. Код на python. Помогите, пожалуйста, это сделать?
Есть такой написанный мною код на python. Никакие библиотеки кроме стандартных использовать нельзя. Работает он верно, часть тестов проходит, но заваливает тесты со слишком большими входными данными, превышая лимит времени. Помогите, пожалуйста, как можно ускорить его выполнение?
num_oder = int(input())
j = 0
list_result = []
order_list = []
while j < num_oder:
line_order = input()
line_order_list = line_order.split()
order_list.append(line_order_list)
j = j + 1
num_request = int(input())
k = 0
while k < num_request:
cost_sum = 0
duration_sum = 0
line_request = input()
line_request_list = line_request.split()
start_req = int(line_request_list[0])
end_req = int(line_request_list[1])
type_req = int(line_request_list[2])
if type_req == 1:
for a in order_list:
if start_req <= int(a[0]) <= end_req:
cost_sum = cost_sum + int(a[2])
else:
cost_sum = cost_sum + 0
else:
for a in order_list:
if start_req <= int(a[1]) <= end_req:
duration = int(a[1]) - int(a[0])
duration_sum = duration_sum + duration
else:
duration_sum = duration_sum + 0
if type_req == 1:
list_result.append(str(cost_sum))
else:
list_result.append(str(duration_sum))
k = k + 1
print(" ".join(list_result))
На вход подается: число заказов, заказы (время начала в мин, время конца, стоимость), число запросов, запросы (время начала в мин, время конца, тип запроса). если тип запроса 1 - нужно найти стоимость заказов, которые начались в данный промежуток времени, если тип 2 - нужно найти продолжительность заказов, которые завершились в данный промежуток времени.
В выводе: значения в одну строку через пробел
Пример входных данных:
3
5 20 5
6 21 4
6 22 3
2
6 12 1
4 6 1
Пример выходных данных:
7 12