Моё решение - s = [int(i) for i in input().split()] N = int(input()) M = [[int(i) for i in input().split()] for i in range(N)] d = int(input()) e = [10**6] for i in range(len(M)): w = s[0] while s[0] < M[i][0]: s[0] += d if s[0]+M[i-1][1] in e: e.pop() e.append(s[0] + M[i][1]) s[0]= w if s[0]+s[1] < min(e): print(s[0]+s[1]) else: print(min(e))
в Тестах выдаёт Time Limit , как можно оптимизировать?