Введем несколько понятий:
Попыткой решить задачу мы будем называть любую отправку решения на сервер.
Все попытки формируют очередь попыток.
Система поддерживает четыре независимых очереди попыток: основная очередь, очередь уроков, олимпиад и контестов. Это означает, что одна и та же задача может быть решена в одной очереди и не решена в других.
Основная очередь - хранит попытки решения задач из "Архива задач". Именно эти решения формируют рейтинг пользователя.
Очередь уроков - хранит попытки решения задач на Уроках. В этом режиме работы системы основная очередь попыток недоступна. Для каждого Урока система формирует новую, закрытую, очередь попыток, что делает невозможным получить доступ к решениям задач на других уроках.
Очередь олимпиад - хранит попытки решения задач на Олимпиадах. В этом режиме работы системы основная очередь попыток недоступна. Для каждой Олимпиады система формирует новую, закрытую, очередь попыток.
Очередь контестов - хранит попытки решения задач на Контестах. В этом режиме работы системы основная очередь попыток недоступна. Для каждого Контеста система формирует новую, закрытую, очередь попыток.