Помощь

Для того, чтобы послать решение, необходимо...
...выбрать задачу из списка задач и нажать кнопку 'Submit' в верхей части описания задачи

Для того, чтобы посмотреть статистику по задаче, необходимо...
...выберать задачу из списка задач и нажать кнопку 'All submissions' в верхей части описания задачи

Для того, чтобы посмотреть список лучших решений задачи, необходимо...
...выбрать задачу из списка задач и нажать кнопку 'Best solutions' в верхей части описания задачи

Возможные варианты ответов системы при посылке решения
В настоящее время в SPOJ доступны следующие варианты ответов системы:

AC - accepted(принято) - ваша программа корректно завершилась и получила правильный ответ
WA - wrong answer(неверный ответ) - ваша программа корректно завершилась, но получила неправильный ответ
TLE - time limit exceeded(превышено ограничение по времени) - компиляция вашей программы завершилась корректно, но при выполнении программа превысила временные ограничения
CE - compilation error(ошибка компиляции) - ваша программа не может быть скомпилирована
RE - runtime error(ошибка выполнения) - ваша программа скомпилирована успешно, но завершилась с одним из следующих кодов ошибки:

- SIGSEGV(signal 11) - "segmentation fault", наиболее распростаненная ошибка (выход за границы, обращение к незарезирвированной памяти и т.д.);
- SIGXFSZ(signal 25) - "output limit exceeded", превышение ограничения на выходные данные;
- SIGFPE(signal 8) - "floating point error", деление на ноль;
- SIGABRT(signal 6) - ошибка в результате внутреннего assert;
- NZEC(non-zero exit code) - программа возвратила код ошибки, не равный нулю;
- other - другие типы ошибок, которые могут привести программу к аварийному завершению;
Информация доступна так же в форуме Sphere Online Jugde

Ограничение на время выполнения
У каждой задачи есть ограничения на время выполнения. Если программа не заканчивается в указанный промежуток, то возникает ошибка TLE.

Ограничение на размер исходного кода
Для каждой задачи вводится ограничение на размер исходного кода решения. По умолчанию этот размер равен 50 килобайт. Однако для некоторых задач он может меняться. При превышении исходного кода указанного ограничения решение невозможно отправить.

Работа с входными и выходными данными
Используйте стандартный ввод и стандартный вывод. Эти файловые потоки доступны по умолчанию для чтения и записи во многих языках. Так, вы можете использовать scanf/printf в языке C или read/write (без имени файла) в языке Паскаль.

Пример решения задачи
Задача: Написать программу для сложения двух целых чисел. На входе два целых числа A и B. На выходе сумма этих двух чисел.
Пример входных данных:

2 3

Пример выходных данных:

5

Решение на языке C:

#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("%d\n",a+b);
return 0;
}


Решение на языке Pascal:

program ex;
var a, b: integer;
begin
read(a,b);
writeln(a+b);
end.


Отладка задач на домашнем компьютере
Для удобства отладки задач на домашнем компьютере можно использовать следующий предопределенный макрос ONLINE_JUDGE.
В программе достаточно написать:

#ifndef ONLINE_JUDGE
freopen("input.txt","r",stdin);
freopen("output.txt","w",stdout);
#endif


Вся входная информация будет считываться из файла input.txt. Вся выходная информация будет сохраняться в output.txt.

Использование 64-х битных целых чисел
Если вы используете MSVC и тип __int64 для целых чисел, то для правильной компиляции решения необходимо сделать следующую замену:

#define __int64 long long

Не забывайте при этом менять формат вывода или ввода с %I64d на %lld

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.