Last Updated: December 2025
Judgehost Specification
The judgehosts of QOJ are all hosted on Microsoft Azure. All judgehosts have the identical specifications:
- OS: Ubuntu 24.04.1 LTS
- RAM: 8 GiB
- CPU: Intel(R) Xeon(R) Platinum 8570
Language Details
Unless specified in the problem meta page, you may submit your solution in any of our supported languages. Note that IOI and most other Olympiads support C++ exclusively, so problems with graders typically only support C++. Always check the problem meta information before starting!
- C
- C++
- D
- Fortran
- Go
- Haskell
- Java
- Kotlin
- Lean 4.23.0
- Pascal
- Python 3 (CPython 3.13 or PyPy 3.11)
- Ruby
- Rust
C++ (C++98, C++11, C++14, C++17, C++20, C++23, C++26)
All C++ submissions are compiled using GCC 15.2.0. The detailed compilation tag is as follows:
g++ -o answer -x c++ answer.code -lm -O2 -DONLINE_JUDGE -std=c++XX
The -std=c++XX flag will be set according to your chosen standard (98, 11, 14, 17, 20, or 23).
C (C99, C11)
All C submissions are compiled using GCC 15.2.0. The detailed compilation tag is as follows:
gcc -o answer -x c answer.code -lm -O2 -DONLINE_JUDGE -std=cXX
The -std=cXX flag will be set to either c99 or c11 based on your selection.
Java (Java 8, Java 11, Java 17, Java 21)
Note: As of January 13, 2025, Java 7 and Java 14 are no longer supported by QOJ.
We use Open JDK for all Java submissions.
- Java 8:
openjdk version "1.8.0_462" - Java 11:
openjdk 11.0.28 - Java 17:
openjdk 17.0.16 - Java 21:
openjdk 21.0.8
Flags -Xmx2048m, -Xss1024m, and -XX:ActiveProcessorCount=1 will be added when running Java programs.
Python (CPython 3.13 / PyPy 3.11)
Note: As of Dec 20, 2023, Python 2 is no longer supported by QOJ.
The Python Interpreters we used are CPython 3.13.7 and PyPy 3.11.
Rust
The Rust compiler we used is rustc 1.92.0 (ded5c06cf 2025-12-08). The detailed compilation tag is as follows:
rustc -o answer -C opt-level=3 --edition=2021 answer.code
D
The D compiler we used is DMD64 D Compiler v2.109.1. The detailed compilation tag is as follows:
dmd answer -O -release -inline -boundscheck=off
Pascal
The Pascal compiler we used is fpc, Free Pascal Compiler version 3.2.2. The detailed compilation tag is as follows:
fpc answer.code -O2
Haskell
The Haskell compiler we used is ghc, The Glorious Glasgow Haskell Compilation System, version 9.4.7. The detailed compilation tag is as follows:
ghc -O2 -rtsopts -XSafe -no-keep-hi-files -no-keep-o-files -static -o answer answer.hs
Kotlin
The Kotlin compiler we used is kotlinc-jvm 2.1.0 (JRE 21.0.5+11-Ubuntu-1ubuntu124.04). The JVM option we used to run Kotlin programs is the same as we used in Java programs.
Go
The Go compiler we used is go version go1.22.2 linux/amd64.
go build -o answer -ldflags -s -w -trimpath
Ruby
The Ruby version we used is Ruby 3.4.8.
Fortran 95 / Fortran 2018
The Fortran compiler we used is GNU Fortran 15.0.1. The detailed compilation tag is as follows:
gfortran -o answer answer.f90 -O2 -DONLINE_JUDGE -std=fX
The -std=fX flag will be set according to your chosen standard (95 or 2018).