Максимально произведение будет лишь у самого наибольшего числа в списки и другого числа на ступень ниже. Поэтому находим 2 наибольших числа в списке.
import random
n = int(input("n = "))
while (n > 50000):
n = int(input("n = "))
s = [random. randint(0,30000) for i in range(n)]
max_1 = s[0]
max_2 = s[0]
for i in s:
if i>max_1:
max_1 = i
for i in s:
if i>max_2 and i != max_1:
max_2 = i
print(max_2,max_1)