Directory structure
These examples are for the latest version of the spec, 2023-07-draft
.
<short_name>/
problem.yaml - problem configuration file
problem_statement/
problem.en.tex - problem statement
problem.nl.tex - problem statement
- any files that problem.xy.tex needs to include, e.g. images
data/
sample/
*.in - sample input files
*.ans - sample answer files
secret/
*.in - input files
*.ans - answer files
*.hint - optional hint for the team
*.desc - optional data description
*.jpg, *.png, *.svg - visualization of the testcase
include/
<language>/
- any files that should be included with all submissions in <language>
submissions/
accepted/
- a file/directory for each submission with final verdict AC
time_limit_exceeded/
- a file/directory for each submission with final verdict TLE
wrong_answer/
- a file/directory for each submission with final verdict WA
run_time_error/
- a file/directory for each submission with final verdict RTE
input_validators/
- single file or directory per validator
output_validator/
- a single output validator consisting of one or multiple files
attachments/
- public files available to contestants
Example
This is a sample list of directories/files for a problem named heightprofile
:
heightprofile
├── problem.yaml
├── problem_statement
│ ├── bike.eps
│ ├── problem.en.tex
│ ├── profile.asy
│ └── profile.pdf
├── data
│ ├── sample
│ │ ├── 1.ans
│ │ ├── 1.in
│ │ ├── 1.png
│ │ ├── 2.ans
│ │ ├── 2.in
│ │ └── 2.png
│ ├── secret
│ │ ├── 01.ans
│ │ ├── 01.desc
│ │ ├── 01.in
│ │ ├── 01.png
│ │ ├── 02.ans
│ │ ├── 02.in
│ │ ├── 02.png
│ │ └── ...
├── input_validators
│ ├── input_validator
│ │ ├── input_validator.cpp
│ │ └── validation.h
│ ├── profile.ctd
│ └── validate.py
├── output_validator
│ └── validate.ctd
└── submissions
├── accepted
│ ├── alex.java
│ ├── paul.cpp
│ ├── ragnar.cpp
│ └── tobi.java
├── time_limit_exceeded
│ ├── jeroen_n2k.java
│ ├── lukas_n2k.cc
│ ├── lukas_n2k_sse.cc
│ ├── lukas_n2k_v2.cc
│ └── lukas_n2k_v2_sse.cc
└── wrong_answer
├── jeroen_parsingerror.java
├── paul-unstable-sort.cpp
├── ragnar-2.cpp
├── ragnar-4.cpp
├── ragnar.cpp
└── tobi.cpp