Также советуем ознакомиться со статьей тонкости работы в системе.
А что такое...?
Контест

Контест — это транслитерация английского слова contest. В нашем случае используется для обозначения отдельного набора задач,  подобраных по какому-либо признаку. Это может быть как олимпиада или тренировка, так и просто набор учебных задач.

Солюшен

Русский вариант английского слова solution. Обозначает вариант решения задачи, отправленный участником контеста на тестирование.

Чекер

От английского checker. Это программа автоматизированной проверки солюшена на определённом тесте.

testlib

Это библиотека, на которой основана работа практически всех чекеров.

Правила проведения олимпиад
Кировские правила

По кировским правилам проведения олимпиад решения участников оцениваются следующим образом. Каждому тесту из набора тестов к задаче ставится в соответствие определенное количество баллов. При успешном прохождении теста к решению добавляется соответствующее количество баллов. При неправильном прохождении теста решение тестируется на следующем. При прохождении всех тестов к решению приплюсовывается определенный бонус (которому никто не мешает быть нулевым). При каждой следующей попытке сдачи задачи из баллов решения вычитается штраф, вычисляемый по формуле (n–1)×stamp, где n — номер попытки  а stamp — штраф за одну попытку, который оговаривается в правилах проведения конкретной олимпиады.

Чем больше баллов у участника, тем выше он находится в таблице результатов. Участники с равным количеством баллов делят между собой соответсвующее место.

ACM-овские правила

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

По этим правилам оценивается штрафное время сдачи задачи, вычисляемое следующим образом: каждая неудачная попытка дает некоторое оговорённое количество штрафных минут. При удачной сдаче задачи её штрафное время складывается из количества прошедших от начала контеста минут и всех штрафов за неудачные попытки.

Сортировка участников в таблице результатов происходит по количеству решённых задач. Если участники решили одинаковое количество задач, то лучшим считатеся тот результат, штрафное время которого меньше. Участники, у которых совпадает и количество решённых задач, и штрафное время, делят между собой соответсвующее место.

А почему у меня такая ошибка, ведь на моем компьютере все работает...?
Ошибка компиляции

Ошибка компиляции (compilcation error, CE) чаще всего происходит из-за неправильно указаного компилятора при отправке солюшена. Также может возникать из-за использования в программе модулей, которые были расценены членами жюри как запрещённые. Также советуем Вам ознакомиться с этой статьёй, в которой описаны тонкости работы в этой тестирующей системе.

Если на контесте разрешён просмотр подробного статуса солюшена, то в случае ошибки компиляции Вам будет предоставлена команда компиляции и сообщения об ошибках, возвращаемые самим компилятором.

Неверный формат

Ошибка «Неверный формат» (presentation error, PE) возвращается в том случае, если формат выходного файла, полученного при помощи Вашего солюшена, не совпадает с тем форматом, который ожидает чекер. Например, ожидается ответ «-1», а Вы выводите «No solution». В общем, читайте форматы входных и выходных файлов.

Если же Вы всё-таки считаете, что Ваша программа не может выводить ответ не в том формате, то проверьте ключи, с которыми Вы отправляете солюшен. Довольно часто такое может быть при отключённой встроенной проверке диапазонов (range check error). По этой же причине Вам может приходить результат «Неверный ответ» (wrong answer, WA).

Ошибка исполнения

Ошибка исполнения (runtime error, RE) чаще всего происходит при некорректно указанных диапазонах массивов. Например, если Вы отлаживаете свою задачу на Turbo Pascal, указывая много заниженные диапазоны, а потом отправляете на Free Pascal, но забываете при этом поправить диапазоны. Также эта ошибка может произойти при чтении данных из неверного файла (ну опечатались в имени файла, например).

Также эта ошибка может возникать, если Вы указываете ключ {$APPTYPE CONSOLE} при отправке солюшена на языке Delphi for Linux. Это внутренний баг кмпилятора, и я не знаю разрешает ли лицензия Kylix'а исправлять сий его. В общем, пока просто не указывайте его.

P.S. После проведения некоторого ряда олимпиад, выяснилось, что {$APPTYPE CONSOLE}вроде как, жить не мешает.

Неверный ответ

Неверный ответ (wrong answer, WA) — это уже почти стопроцентно именно ваша ошибка. Можем лишь порекомендовать включить проверку диапазонов (range check) и иже с ней. Если же, на ваш взгляд, в вашей программе всё отлично — напишите об этом членам жюри, ибо ошибки в тестах хоть и крайне редко, но допускаются.

Превышен предел времени или памяти

Превышение предела времени или памяти (time limit error, TL и memory limit error, ML) также чаще всего происходит по вине самого участника олимпиады из-за неправильно выбранного алгоритма решения. Превышение предела памяти также происходит при попытке считать данные не из файла, а со стандартного потока ввода (stdin).

Задача зачтена

Собственно, а чего Вам не хватает?

Добавление задач в систему
Закачивание тестов на сервер

Для того, чтобы закачть тесты и проверяющую программу (checker, далее чекер) необходимо либо при создании новой задачи, либо при ее редактировании указать в поле `Архив с тестами` соответсвующий архив. Этот архив должен быть устроен следующим образом. Во-первых, он должен быть запакован с помощью архиватора BZip2 (.bz2), GZip (.gz), Tar (.tar), RAR (.rar), ZIP (.zip), или их композицией (например, tests.tar.bz2). Во-вторых, в корне архива должны находиться тесты и, если необходимо, проверяющая программа

Файлы тестов имеют следующий формат: <номер теста>.tst. Тесты нумеруются по порядку, начиная с 1. Если тестов меньше 100, то номер теста должен дополнятся ведущими нулями до двух разрдов. Если количество тестов более 100, то номер теста должен дополнятся до трех разрядов (Внимание! При количестве тестов более 1000 работоспособность системы не гарантируется). Каждый тест должен сопровождаться соответсвующим файлом с ответом в формате <номер теста>.ans. Этот файл должен присутсвовать даже если он не требуется для работы чекера.

Если Вы не используете в задаче готовый чекер из системы, то архив также должен содержать исходный текст чекера и файл с инструкцией по его компилированию. Файл должен называться checker.conf (именно в таком регистре). Формат этого файла следующий: <название конфигурационного ключа> <значение этого ключа>. Конфигурационных ключей может быть несколько. Обязательными являются CompilerID (идентификатор компилятора) и SourceFile (имя исходного файла чекера). Также Вы можете указать ключ CFLAGS - дополнительные ключи компилятора. Если значение ключа содержит символы, эквивалентные пробельному, то это значение должно заключаться в двойные кавычки.

Пример конфигурационного файла чекера:

CompilerID FPC
SourceFile checker.pas

Идентификатор компилятора это одно из следующих значений: GCC (GNU C Compiler), G++ (GNU C++ Compiler, G++11 или G++17 для указания нужной версии c++), FPC (Free Pascal Compiler), DCC (Delphi for Linux Compiler), Python (python 3.6).

Написание проверяющих программ (чекеров)

Для написания проверяющих программ Вам необходима библиотека testlib, которую Вы можете скачать из раздела "Downloads". Эта библиотека претерпела небольшие внутренние изменения, но в большинстве своем ее API совпадает с API тестлиба Антона Суханова. Единственное, сильное изменение в API заключается в том, что функция ReadReal называется ReadFloat. В остальном внешнего интерфейса изменения не коснулись. Написании чекеров на Pascal или Delphi выглядит абсолютно аналогично. Но теперь Вы можете писать чекеры на C и C++.

Написание чекеров на чистом Си это занятие только для джедаев, так что я не стану его описывать. Если уж Вы решили заняться столь неблагодарным делом, то разобраться в исзодниках этой библиотеки для Вас не составит труда. При написании чекера на C++, выдолжны подключить заголовочный файл testlib++.h и реализовать единственную вункцию void Check (void), в которой и должна происходить проверка ответа участника олимпиады. В этой библиотеке также объявлены объекты inf, ouf и ans. Методы этих объектов аналогичны методам этих объектов на паскалевском тестлибе, поэтому я их описывать не буду.

Пример чекера на C++:

#include <testlib++.h>
void Check ()
{
  if (ouf.ReadLongint ()!=ans.ReadLongint ())
    Quit (_WA, "Value mistmatch");
  Quit (_OK, "OK");
}