Код не проходит лимит по времени (оптимизация на python)
Я решала задачу:
Вам даны n целых чисел a1, a2, …, an.
Найдите максимальное значение max(al, al+1, …, ar)·min(al, al+1, …, ar) по всем парам (l, r) целых чисел, для которых 1 ≤ l < r ≤ n.
Входные данные
Первая строка содержит одно целое число t (1 ≤ t ≤ 10000) — количество наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число n (2 ≤ n ≤ 105).
Вторая строка каждого набора входных данных содержит n целых чисел a1, a2, …, an (1 ≤ ai ≤ 106).
Гарантируется, что сумма n по всем наборам входных данных не превышает 3·105.
Выходные данные
Для каждого набора входных данных выведите одно целое число — максимально возможное значение произведения из условия.
Пример
входные данные
4 3 2 4 3 4 3 2 3 1 2 69 69 6 719313 273225 402638 473783 804745 323328
выходные данные
12 6 4761 381274500335
Написала по ней код:
n=int(input())
for x in range(n):
m=int(input())
a=list(map(int, input().split()))
ans=a[0]*a[1]
for l in range(m-1):
for r in range(l+1, m):
s=a[l:r+1]
if min(s)*max(s)>ans:
ans=min(s)*max(s)
print(ans)
Но он не проходит лимит по времени, подскажите пожалуйста, как его можно ускорить!!!