Код работает ровно так, как написан.
Можете строчка за строчкой объяснить, что происходит в коде? Я начал, вы дополните в остальных строчках. Сразу должно стать понятно, где ошибка в логике:
numbers = input().split() # получаем в numbers массив из отдельных слов в введенной строке
flag = 0 # инициализируем счетчик нулем
for i in range(len(numbers)): # проходимся по всей длине массива (по всем словам)
if numbers[i].isdigit() == True: # Если текущее слово состоит только из цифр (т.е. оно число)
flag += 1 # Увеличиваем счетчик
if flag == len(numbers): # если все слова в строке - числа
for i in range(len(numbers)-1): # ???
print(numbers[i], numbers[i+1]) # ???
if numbers[i] < numbers[i+1]: # ???
mx = numbers[i+1] # ???
print(mx)