Вероятно, большая часть контестов, присутствующих на настоящий момент в “Тренировках”, подготовлена не с помощью Polygon’а. Тем не менее, возможно, несколько более подробная, нежели п.3 в краткой справке раздела “Тренировки”, инструкция “как создать тренировку из задач, подготовленных в Polygon” окажется для кого-то полезной. Использовать при этом Wizard нет особой необходимости.
Итак, предполагаем, что у нас есть задачи, подготовленные в Polygon, для каждой из которых успешно собран пакет и из которых создан контест.
Сначала проведем предварительную подготовку на Polygon.
Следует дать write-права на контест и на все задачи пользователю codeforces.
Быстрее всего действовать именно в таком порядке: добавить пользователя codeforces в список Contest developers, после чего выставить права в окне Manage access, не обращаясь к каждой задаче по отдельности.Для всех задач должны быть собраны пакеты, содержащие последнюю редакцию задачи.
Нужно проверить, что все задачи имеют название (и другие составляющие, за исключением разве что Note): пакет может собраться, но Codeforces его не “примет”.Скачать со страницы контеста файл описания contest.xml по ссылке Download Descriptor.
Если скачать пакет целиком, там тоже можно обнаружить файл contest.xml. Однако для нумерации задач в нем использованы строчные латинские буквы, в то время как для Codeforces нужны заглавные. Разумеется, можно исправить вручную, но можно скачать уже исправленный.
Перейдем на Codeforces.
В “Тренировках” должен быть включен тренерский режим.
Выбрать "Создать тренировку" и заполнить необходимые поля (название, длительность, сезон и т.п.). Если потребуется, всю эту информацию можно будет отредактировать — тренировка появится в списке, и её свойства будут доступны для изменений.
Приватный режим доступа (по умолчанию) стоит оставить, пока создание тренировки не будет завершено.Положить в каталог sandbox тренировки файл contest.xml, заменив им находящийся там “стандартный” contest.xml. Это можно сделать по ftp (login и password для доступа совпадают с таковыми на Codeforces).
Мне в качестве клиента удобнее всего использовать Far manager. Режим passive mode, скорее всего, включать не потребуется. Но если что-то все же пойдет не так, можно попробовать включить.Если тренировка проводится на задачах уже состоявшегося соревнования и имеется (преобразованный в нужный (testsys) формат) файл монитора соревнований contest.dat, то “стандартный” contest.dat из sandbox также нужно заменить этим файлом (также по ftp).
"Обновить соревнование" (перевести его из sandbox в release). Это займет некоторое время, после чего в соревновании появятся задачи. Если был добавлен файл монитора, то возле задач будет указано количество решивших их, а также будет доступен монитор с “участниками-призраками”.
Не забудьте нажать F5 или обновить страницу другим образом.Отправить все авторские решения. Это можно сделать, перейдя на вкладку “Адм.” (все решения, которые были в пакете, будут протестированы). На вкладке “Статус” можно просмотреть все посылки и удостовериться, что поведение решений ожидаемое (правильные получают AC, неправильные — WA, превышающие допустимое время выполнения — TL).
Сервера Polygon'а и Codeforces — это одни и те же компьютеры, так что ограничения по времени достаточно подобрать на Polygon.Если все предыдущие пункты выполнены успешно, можно изменить уровень доступа на публичный. Если у тренировки установлено время начала, она не будет доступна до этого момента (при необходимости можно будет ее обновить).
Если были внесены какие-либо изменения в задачи или контест на Polygon (например, выставлены другие ограничения по времени) или же менялся файл монитора contest.dat, необходимо будет вновь “Обновить соревнование”.
Если у тренировки установлено время начала, за 6 часов до этого момента автоматически будет открыта регистрация. Регистрироваться на тренировку участники могут вплоть до ее окончания.
PS. Что несколько огорчает — совершенно не используется Problem tutorial, поле, имеющееся у каждой задачи на Polygon. Кажется, было бы удобно собирать не только файл контеста (или задачи) в pdf, но и его (ее) разбор. Который можно было бы тоже “автоматически” включать в тренировку.
Нужна помощь.
HTTP Status 409 — Can't get exclusive access to this contest.
type Status report
message Can't get exclusive access to this contest.
description The request could not be completed due to a conflict with the current state of the resource.
Что не так?
Такое бывает, пока не диагностировали точно как воспроизводить. Попробуй еще раз, оно пропадает через некоторое время. Если научишься воспроизводить — будет круто.
I tried much to put "contest.xml" file to the "sandbox". but here, I do not find any option to replace/edit default context.xml And wizard file don't work . how I can add problem in my own created gym contest???//
А можно подробнее про:
Пытаюсь добавить в список пользователей себя. Он пишет
User alexyz not found
.Именно пользователя "codeforces"
Should that ftp link work right now? I couldn't access it yesterday and today.
Is it temporarily down because of CF issues or should we use something else nowadays to add a contest to GYM?
Unfortunately, ftp link has not been working about month... I used mashups for my students at this time, and I still hope this problem will be solved
MikeMirzayanov, can you take a look?
Still doesn't work for me.
cc MikeMirzayanov
I think it is fixed now.
Is FTP still done? I can't connect to the server
Now I have access but Codeforces told me "Can't download statement of contest". It certainly because I didn't add any codeforces user in the list of developers in Polygon. But I don't know how to do that. I saw a button "Manage developers list" but I can't add any codeforces user name...
codeforces is a user name
Can't release contest, because there are validation errors: Can't download statement of contest from 'https://polygon.codeforces.com/c/44618/english/statements.pdf': Received unexpected Response {code=403, size=431 B, s='<!doctype html><html lang...den'}.
i am getting this, can someone help me