Можете объяснить код простой программы из ответа по ОГЭ?
Потому что нигде не сказано, что последовательность идёт строго по возрастанию.
Пример: 7 3 500 6 9 5 8
Без второго условия программа увидит число 5 и перезапишет result = 5, хотя оно меньше чем более раннее 500.
Здесь мы создаём переменную, в которую будет присваиваться максимальное число, кратное 5
result = 0
Здесь мы проверяем делится ли 'a' на 5 и является ли оно больше предыдущее, записанное в result
if a %5==0 and a>result:
result=a

Другими словами, если например нам даётся 3 числа, которые вводятся поочерёдно. Пусть это будут числа 5, 15, 10. Тогда ваша программа сначала присвоит переменной 'a' значение 5, затем 15, т.к 15 > 5, и на последней итерации ничего присвоено не будет,  т.к 15 > 10.  Поэтому ответом будет 15