Как писать читаемые алгоритмы на собеседовании: инварианты, границы и доказуемость — $ sudo teach IT