Contest Environment

The hardware and software configurations for IOI 2023 are described below.

Note that these configurations are subject to change.

Hardware

An Acer Aspire 3 laptop workstation is assigned to each contestant with the following components:

  • CPU: Intel Core i5-1135G7 (2.4 GHz)
  • RAM: 8 GB
  • Storage: 256 GB SSD
  • Built-in 15.6″ IPS display (1920×1080 resolution)
  • Built-in US-layout keyboard
  • Built-in touchpad
  • 3 USB ports (for contestant-provided keyboard and mouse)
  • Wired mouse (not included in the picture)

Contestants are encouraged to bring their own keyboard (and mouse). However, please note that according to the Contest Rules, it must not have wireless communication capability and must not have any programmable functions whose configuration is retained when unplugged.

Software

Contestants can expect the following software, with the minimum versions stated below. A virtual machine is available at the bottom of this page to allow practicing with the software environment of the contest.

Please note that Code::Blocks WILL NOT be available because of stability issues.

Operating System

  • Ubuntu 22.04 LTS (with the ubuntu-desktop-minimal package set)

Compiler

  • GCC 11.3

Text Editors and IDEs

  • Atom 1.60.0
  • Eclipse 2023-06 M2
  • Geany 1.38
  • GNU Emacs 27.1
  • Joe 4.6
  • Kate 21.12.3
  • KDevelop 5.7.211203
  • Nano 6.2
  • Neovim v0.6.1
  • Sublime Text 4143
  • Vim 8.2.4919
  • Visual Studio Code 1.78.2 (with C/C++ extension v1.15.4)

Debuggers

  • DDD 3.3.12
  • GDB 12.1
  • Valgrind 3.18.1
  • VisualVM 2.0.6

Interpreters

  • Python 3.10.6
  • Ruby 3.0

Documentations

  • C/C++ reference
  • Python 3

Other Applications

  • Byobu 5.133
  • Firefox 110
  • Gnome Terminal 3.44.0
  • Konsole 21.12.3

Grading System

Contest Management System (CMS) will be used as the grading system.

The exact commands used for compilation will be shown on the grading system. With the exception of certain task types, the compilation command will generally be of the following format:

/usr/bin/g++ -DEVAL -std=gnu++17 -O2 -pipe -static -s -o task grader.cpp task.cpp

Grading will be performed on the same type of laptops as the contestant machines, with the same OS and compiler version. Please note, however, that some settings will be different (e.g. Turbo Boost Technology, Hyper-Threading Technology and CPU frequency scaling disabled), so execution times in CMS might differ from local execution times.

Virtual Machine

The IOI 2023 VM is published in order to help contestants get familiar with the software environment of the contest. However, please note that the VM will not be used onsite at IOI 2023: the operating system with the same software and configurations will run natively on the contestant laptops. In accordance with this, please do not report issues related to virtualization and performance.

There will be multiple versions of the VM released. You can report issues between releases here: https://github.com/ioi-2023/contestant-vm/issues using the green “New issue” button.

Releases

You can see and download the VM releases here: https://github.com/ioi-2023/contestant-vm/releases

Requirements

The contestant VM requires VMware Workstation Player 16.x or 17.x

Importing the Contestant VM

Run VMware Workstation Player. Click on “Open a Virtual Machine”, locate the contestant VM image (file with .ova extension) in the file dialog, and click Open. Then, click Import in the Import Virtual Machine dialog that appears. You may customize the VM name or change the storage path.

After the import is complete, you can start running the contestant VM. To run the contestant VM, select the VM, then click Play Virtual Machine.