Как сдавать домашние задания

На курсе есть несколько видов активностей, которые влияют на вашу оценку:

Домашние задания в контесте

Код программ, которые вы будете сдавать в рамках нашего курса, будет проверяться автоматически в системе Яндекс.Контест.

Требования к вводу-выводу

Программа должна читать из стандартного входа и писать в стандартный выход. Входной формат гарантируется: будет так, как описано в условии. Строго придерживайтесь выходного формата. Лишние пробелы и лишние переводы строк — не страшно, а вот пропустить пробел, вывести не в том порядке, пропустить перевод строки или вывести что-то лишнее — будет являться ошибкой.

Вердикты по задаче

Система выдает один из следующих результатов на каждый запуск.

  • OK — задача прошла успешно.
  • PCF — Precompile check failed — code style violation, вы нарушили какие-то из требований по оформлению кода. Чтобы узнать, какие именно, нажмите на ссылку «отчёт» (она появляется при наведении курсора на строку посылки) и почитайте. Также вы можете получить такую ошибку, если использовали при реализации какую-нибудь стандартную структуру данных или какой-нибудь стандартный алгоритм из библиотеки STL, который в данной задаче было использовать запрещено.
  • CE — Compilation Error — ваша программа не компилируется на сервере. Чтобы узнать, почему, нажмите на ссылку «отчёт» (она появляется при наведении курсора на строку посылки) и посмотрите, какие ошибки нашел компилятор.
  • WA — Wrong Answer — на некотором тесте программа выдала неверный ответ. Вам не предоставляется возможность увидеть содержимое теста (если это тест не из условия). Внимательно посмотрите на ограничения в задаче, попробуйте придумать свой тест, на котором ответ будет неправильный.
  • PE — Presentation Error — ошибка представления. Например, просили вывести число, а выведена строка. В этом случае вы можете получить Wrong Answer либо Presentation error, это не гарантируется заранее.
  • TL — Time Limit exceeded — ваша программа работает слишком долго. Значит, у вас неправильное асимптотически решение, так как таймлимиты будут выставляться в 1,5–2 раза больше, чем время работы авторского решения на максимальном тесте, и этого должно хватать любому правильному решению.
  • ML — Memory Limit exceeded — ваша программа использует слишком много памяти.
  • RE — Runtime Error — произошла ошибка выполнения. Неочевидные возможные причины: чтение из файла вместо стандартного ввода; запись в файл вместо стандартного вывода; переполнение стека. Очевидные причины: выход за границы массива, деление на ноль.

При сдаче домашних задач баллы за посылки и штраф по времени не снимаются. Проверяется последний код, который набрал больше всего баллов.

Сроки

Мягкий дедлайн ставится на дату примерно через 11 суток с момента выдачи контеста.

За каждый день просрочки мягкого дедлайна отправленной посылки по задаче ставится -2 балла этой посылке. При этом берется максимум из 0 и полученного данным образом балла.

То есть жесткий дедлайн – мягкий дедлайн + 4 дня. За посылки, отправленные после жесткого дедлайна соответственно ставится 0.

Все дедлайны будут прописаны в канале курса в telegram.

Критерии оценки обычных контестов

  1. Нет решения — 0 баллов (база)
  2. Несоответствие кодстайлу 0 баллов итог
  3. Прохождение тестов из условия + 1 балл
  4. Online-тестирование + 7 баллов, в зависимости от групп в задаче
  5. Offline-тестирование + 2 балла

Пункт 3 проверяется только при прохождении тестов из условия.

Пункт 4 проверяется только при прохождении всех тестов из online-групп.

Оцениваться группы в пунктах 3-4 могут по-разному:

  • два режима прерывания групп: при первой ошибке в группе (оставшиеся тесты в группе не проверяются) и без прерываний. По умолчанию до offline-проверки включен режим "при первой ошибке". Во время offline-проверки все решения пересуживаются уже со вторым режимом.
  • два режима оценивания групп: "полный_балл_за_группу * пройденные_тесты_в_группе/тесты_в_группе" и "0 или полный_балл_за_группу". Второй режим включается для задач на написание какого-то алгоритма (к примеру, "напишите сортировку слиянием"). Первый режим включается для задач всех остальных типов, если не написано иное.

Пункты 3 и 4 не фиксируют кол-во баллов. От задачи к задаче разбалловка баллов в 3 и 4 может меняться.

При выявлении списывания списанная задача обнуляется всем участникам списывания. Если в контесте > 1 списанной задачи, то зануляется весь контест.

При использовании читерства в задаче она также зануляется (к примеру, в контесте / задаче явным образом запрещалось использовать std::sort или что-то аналогичное, а Вы взяли и заюзали каким-то хитрым образом).

Если Вы не согласны с результатом проверки, то можете проапеллировать результат, написав на почту. В чат курса / лички ассистентов / преподавателей писать не надо.

КДЗ

TODO

Тесты

TODO

Экзамен

TODO