/ SeriousOJ /

Help

Compilers' Version and Parameters

SeriousOJ uses sojj1 for judging the solutions.

  • C
    gcc -O2 -Wall -std=c99 -o /out/foo /in/foo.c -lm
  • C++
    g++ -O2 -Wall -std=c++17 -o /out/foo /in/foo.cc -lm
  • C#
    csc -optimize+ -out:foo.exe foo.cs
  • Java
    javac Main.java
  • Python 3
    python3 foo.py
  • JavaScript
    nodejs foo.js

IO

Only supports stdout and stdin. No file i/o support.

Judge Status

  • Waiting Waiting for processing.
  • Fetched Submission fetched by judger.
  • Compiling Compiling the submission.
  • Judging Currently judging the solution.
  • Accepted Solution accepted.
  • Wrong Answer Solution fails.
  • Time Exceeded Solution exceeded Time limit.
  • Memory Exceeded Solution exceeded Memory limit
  • Runtime Error Encountered error while judging the solution.
  • Compile Error Solution failed to compile.
  • System Error Judging system error.
  • Canceled Judging canceled.
  • Unknown Error Unknown error
  • Ignored Ignored

Dataset Format

  • - Config.json: Problem config
  • + Input: Input folder
  • |- input0.txt
  • |- input1.txt
  • |- ...
  • + Output: Output folder
  • |- output0.txt
  • |- output1.txt
  • |- ...

Config.json

TimeLimit: TimeLimit in ms
MemoryLimit: MemoryLimit in KB
ValidatorType: ValidatorType
TestCases: TestCases
ValidatorType: 1: File Validator
ValidatorType: 2: Line Validator
ValidatorType: 3: Word Validator
ValidatorType: 4: Float Validator
ValidatorType: 5: Custom Validator
Samples: Array // Index of sample testcases
TestCases: Input: Input file name
TestCases: Output: Output file name
TestCases: Score: Score

Example

          {
            "TimeLimit": 2000,
            "MemoryLimit": 65536,
            "ValidatorType": 1,
            "Epsilon": 1e-6, // Float Validator
            "Samples": [0, 3], // Index of sample testcases
            "TestCases": [
                {
                    "Input": "input1.txt",
                    "Output": "output1.txt",
                    "Score": 0
                },
                {
                  "Input": "input2.txt",
                  "Output": "output2.txt",
                  "Score": 50
                },
                {
                  "Input": "input3.txt",
                  "Output": "output3.txt",
                  "Score": 50
                },
                {
                  "Input": "input4.txt",
                  "Output": "output4.txt",
                  "Score": 0
                }
            ]
        }