Високосный год
Вы решили задачу. Теперь можно сравнить подходы.
Проверяем исключение для столетий.
Авторский разбор для локальной версии на основе условия задачи. Это не выгрузка чужих посылок и не официальное решение исходного сайта.
Ваше принятое решение
Рекомендуемое решение: Логическое выражение
Год кратный 400 високосный; остальные должны делиться на 4 и не делиться на 100.
y = int(input())
print("YES" if y % 400 == 0 or y % 4 == 0 and y % 100 != 0 else "NO")
Время: O(1). Память: O(1).
Другой способ: Последовательные ветви
Сначала обрабатываем более редкие исключения, затем общее правило.
y = int(input())
if y % 400 == 0:
print('YES')
elif y % 100 == 0:
print('NO')
elif y % 4 == 0:
print('YES')
else:
print('NO')
Время: O(1). Память: O(1).
На что обратить внимание
- 1900 не високосный, а 2000 високосный.
Рекомендация учитывает сложность и читаемость для этой задачи. Единственного самого быстрого решения для всех размеров входа и всех компьютеров может не быть.