Last modified: July 04, 2005.

Regulations of the Central European Olympiad in Informatics

 

Introduction

The Olympiad is organised by the Ministry of Education or another appropriate institution of one of the eight Central European countries.

According to the rules accepted by the initiators of the CEOI, teams of eight Central European country, i.e. Croatia, Czech Republic, Germany, Hungary, Poland, Romania, Slovak Republic and Slovenia (suspended), are invited as regular participants. Moreover, the host country may invite guest participants as well.

The International Committee (IC) of the CEOI consists of the eight team leaders, and a representative of the host country, who chairs the meetings of the IC. A host which is willing to organise a CEOI in a given year in its country, has to announce its intent at least one year before that CEOI (during the previous CEOI competition days). Selection of the next host is made by the IC by a majority vote. Revision of the Regulations of the CEOI is adopted by the IC by a 2/3 majority vote. Enlarging or decreasing the set of CEOI countries can only be adopted by consensus.

Goals

The CEOI aims at motivating secondary school students of Central Europe to :

  • get more interested in informatics and information technology in general,
  • test and prove their competence in solving problems with the help of computers,
  • exchange knowledge and experience with other students of similar interest and qualification,
  • establish personal contacts with young people of the Central European region.

Additionally, the CEOI may :

  • provide training for the students participating in the International Olympiad in Informatics (IOI),
  • initiate discussion and co-operation in informatics education in the secondary schools of the Central European countries.

General Regulations

Each team is composed of up to four secondary school students, and a team leader and a deputy team leader. Only the cost of travel to and from the place of the competition should be paid by teams; all local expenses are covered by the organisers. Accompanying persons and observers are welcome, but they should pay for their stay. Interested people are advised to contact the local organisers.

The official language is English. Students may use their mother tongue. Programming problems will be formulated in English and then translated by the team leaders to the mother tongue of their team. Both versions will be given to the students. Team leaders must be able to speak and write in English, as well as the language of their team.

The computers will be IBM PC compatibles with selected software packages. Only the computers and software with built-in help facilities provided by the organisers may be used in the competition. In particular, the use of printed materials will be forbidden. The programming languages of the contest are Pascal, C and C++; the precise versions of these languages will be updated each year. The compilers and programming environments for the above mentioned programming languages will be installed on the hard disk.

Team Composition

Students have to be in school during the year when the contest is held and at most 19 years old. The team leader will be a member of the General Assembly. Observers and persons accompanying a delegation have to pay a fee.

General Assembly

General Assembly (GA) is composed of the team leaders of the participating countries and the president nominated by the host country. General Assembly selects problems to be solved in the competition from a set of problems prepared and proposed by the Scientific Committee.

The selection procedure is the following:

  1. The chairperson of the Scientific Committee distributes the proposals. Their number equals the number of problems to be solved by the contestants.
  2. The GA members may either accept or, in case of a major ambiguity of formulation or other serious reasons, deny the proposals by voting. When and if a proposal is denied, another prepared proposal will be offered to the GA. For such cases, the Scientific Committee should prepare at least two extra proposals for each round. The text of the accepted proposals must not be changed by the GA, except for minor rephrasing that is needed to avoid smaller ambiguities.
  3. The selected problems will be translated by the team leaders into the national languages of the teams.

Scientific Committee

The Scientific Committee (SC) consists of a chairperson and a number of experts (SC members) from the host country. It becomes active well before the beginning of the Olympiad and has the task of selecting and preparing problem proposals.

A further task of the Scientific Committee is to test and evaluate the solutions of the contestants.

Problems, Competition

The competition consists of two rounds in two days. In both rounds the working time is five hours and the contestants will be given one to four problems to solve. The selected problems will be translated by the team leaders into the national languages of the teams.

Within the first hour the contestants may submit written questions (either in English or in their national language) to the Scientific Committee concerning the formulation and interpretation of the problems. Only questions that can be answered with 'Yes', 'No' or 'No comment' may be accepted. The answers will be produced by the members of the Scientific Committee and approved by the chairperson of the SC as soon as possible.

When the competition ends, each contestant should prepare his/her solution for the evaluation, according to regulations issued by the organisers.

No special hardware requirement or software packages (e.g. graphic packages) will be needed to solve the problems. The whole communication between the CEOI authorities and contestants will be in a written form.

Evaluation

When the working time is over, the solutions of each of the contestant will be checked by an evaluator, using previously unpublished test data. The evaluation is based on the test data and the responses of the programs only.

The evaluation procedure concludes with the meeting of the Scientific Committee, where the evaluation reports are discussed. Potential disagreements are dissolved by voting. Achieving a proper and balanced evaluation is the responsibility of the Scientific Committee. If a team leader does not accept the results of the evaluation, he/she may appeal to the General Assembly.

Finally, the president of SC or IC presents the anonymous results to the General Assembly to take final decisions.

Results and Prizes

The General Assembly will determine the minimum scores for the gold, silver and bronze medals. The proportion of these gold, silver and bronze medals should be approximately 1:2:3. About 50% of the contestants should receive medals. Each contestant will receive a certificate of participation. The medals, certificates and other prizes will be given to the contestants at the official closing ceremony.

Back to top

Competition Rules

Competition Schedule

CEOI 2005 takes place from Thursday, July 28 (Arrival Day) to Thursday, August 4 (Departure Day). The First Competition Day is Saturday, July 30, and the Second Competition Day is Monday, August 01. On both competition days contestants will be given three tasks to complete in the five hours from 8:00 to 13:00 CEST.

There will be a two hour Practice Competition on Friday, July 29 from 9:00 to 11:00. The purpose of this practice round is to familiarize all participants with the environment and procedures. The practice tasks will be distributed in advance. All contestants are required to attend this session to get used to the local environment.

Competition Tasks

All of the tasks in CEOI 2005 are designed to be of algorithmic nature. The solution for each task is either a single source file of a computer program or a set of output data files, where each file is related to some input information.

Efficiency plays an important role in some tasks. Whenever efficiency of an algorithm is important, certain correct but inefficient approaches can score points for about 50% of grading inputs. It is important, therefore, to attempt a task even though the contestant may not know the 'best' solution. 

Tasks may be of the following types:

Batch tasks

Solutions comprise a single source file of a computer program which reads data from input file and writes an answer to output file,

Reactive tasks

Solutions comprise a single source file of a computer program which invokes procedures from a library provided by the organizers,

Output-only tasks

Solutions comprise a set of "output" data files.

Each submitted source program must be smaller than 100 KB and the evaluation server must be able to compile it in less than 30 seconds. The executable code of the submitted programs must be smaller than 10MB. Submitted programs which do not meet these constraints will be rejected by the submission system and the contestant will be notified.

If the memory limit is specified, it is the limit on overall memory usage including executable code size, a stack, a heap, etc.).

Batch tasks

The source program provided by the contestant must be contained in a single source file. The task statement will define:

  • the input and output data formats,
  • the input value ranges (when applicable),
  • the resource limitations for the computations (e.g., CPU time, memory limitations),
  • any other constraints on the program.

Reactive tasks

The source program provided by the contestant must be contained in a single source file. The task statement will specify:

  • the parameters and results of library routines to be used (in all competition languages),
  • allowed interactions,
  • the resource limitations for the computations (e.g., CPU time, memory limitations),
  • any other constraints on the program.

Output-only tasks

The competition might include tasks for which input data is given to the contestant and the contestant is required to produce only the output data as a solution. If the contestant writes programs to help determine the output data, the programs must not be submitted with the solution. The input data will be provided in ASCII text files. For these tasks, the task statement will specify:

  • the structure of the input and output files, and
  • information on obtaining the full set of official input files.

Input and output data

In all tasks, input and output data consist of one or more lines, each ending with an end-of-line character. Each line contains one or more space-separated items. An item is a string of printable non-white-space characters (ASCII code from 33 through 126). An item may represent an integer or a general string; the meaning of each item will be given in the task description.

The format and limits for input and output data will be specified in the task description. The output data files should be formatted strictly according to the task-specific instructions.

System Calls

Programs submitted must not make any system calls other than reading from the input file, writing to the output file and invoking clock functions. Upon termination, programs must always explicitly return an exit code 0. Other exit codes will be interpreted by the grading system as failures and no points will be awarded for the test case.

Submitted programs are not allowed to:

  • access the network,
  • fork,
  • open and create files other than those specified in the task descriptions,
  • attack the security of the system, including the grader,
  • execute other programs,
  • change file system permissions,
  • read file system information,
  • use external libraries (e.g. crt, graph).

All of the above actions are considered cheating, and may result in disqualification.

Competition Equipment and Environment

The competition computers have Pentium IV/3.0 GHz processor, 512 MB  RAM, Hungarian  keyboard, mouse, and 17" color TFT screen.

All contest machines will be installed to dual-boot in Windows XP and Debian GNU/Linux 3.1.

  • The following packages will be installed in Linux environment:
    Desktop manager: KDE 3.3; Gnome 2.6.  Web browsers: Firefox, Konqueror. Editors: rhide, mcedit, joe, vim, kate, kwrite, kdevelop, emacs.
    Compilers: gcc 3.3, g++ 3.3, Free Pascal 1.0.10 with documentation; debuggers: gdb, ddd; STL documentation.
  • In Windows, the following applications will be available: Internet Explorer, Firefox, Notepad,  Free Pascal >=1.0.10; with IDE and documentation, Dev-C++ >=4.9, STL documentation.

Blank paper and writing utensils will be provided for contestants. Contestants may take their own computer keyboards, pens, pencils and erasers, but must NOT take any materials such as computing equipment (including calculators, organizers, PDAs, computers, ...), books, manuals, written or printed materials, diskettes, CD-ROMs, or communication devices into the competition area. A contestant who is in possession of such a kind of materials in the competition room may be disqualified from the competition. 

Practicing

Contestants must take part in the practice session on Friday, July 29. Contestants who want to use their own keyboards should set up the items at their computers during the Practice Session.

Competition Server

The CEOI competition takes place in a distributed environment in which each competitor has his or her own workstation for development and initial testing. Grading and evaluation take place on the Competition Server, which provides a similar execution environment to that of the contestant workstation.

Each competitor's workstation has both Linux and Windows installed; the competitor may choose which operating system to run. Regardless of which operating system is chosen, a common set of compiler and development tools will be available. These tools are used to develop solutions to the problems posed. There is no restriction on the number of times a program may be edited, compiled, and run on the workstation.

The workstations will have network access to the Competition Server, a web server which provides documentation, needed task data, and facilities such as printing, backups, test execution, and solution submission.

The workstations will not have access to each other and the Internet. Any attempt to access another competitor's computer or the Internet will be considered cheating.

TEST Interface

The Competition Server runs Linux, enforces memory and time limits, present inputs data to the contestant's program, and capture the results. A competitor may run his or her program in the judging environment by using the TEST interface. To use this facility, the competitor supplies a program and input data to the interface. These are copied to the judge machine and executed. Results are displayed using the interface. The TEST facility allows the competitor to determine the exact behaviour of his or her program in the judge environment with respect to compilation parameters, time and memory limits, and so on. Because the TEST facility consumes shared resources, there is a limit of 30 TEST submissions per task. Also, TEST submissions will be disabled during the last 30 minutes of each day's competition.

The size of an input file submitted in the uncompressed form must not exceed 100kB. The test execution system will compile and execute the program under Linux, enforcing the resource limitations for the particular task. The first 100KB of the standard output, execution time, and any applicable error messages will be displayed.

SUBMIT interface

Once a competitor is reasonably satisfied with his or her solution, he or she may submit it using the SUBMIT interface. Any task may be submitted at any time; however, grading will take place only at the end of the contest day. Therefore, if the competitor wishes to submit an improved or corrected version of a solution, he or she may do so by using SUBMIT again. Because the SUBMIT facility consumes shared resources, there is a limit of 30 submissions per task.

Contestants submit solutions to the Competition Server via a web browser.

For tasks that require programs as solutions, the submission facility will accept C/C++ or Pascal programs, verify that the program compiles and obeys the stated limits on source program size, executable code size and compile time.

Only the last submitted version for each task will be graded.

Printing

After a contestant requests that a document be printed, the support staff will deliver the printout to the contestant; contestants should not leave their computer to find printouts. Printouts will be delivered as quickly as possible, but large volumes can produce delays in delivery. The limit on the length of a printed document is 10 pages. If a document to be printed is longer, only the first 10 pages will be printed. On each competition day the contestant can print at most 30 documents.

Assistance

Contestants may ask the support staff for assistance at any time. The staff members will not answer questions about the competition tasks, but will deliver Clarification Request Forms and printouts, help locate toilets and refreshments, and assist with computer and network problems. The only manner in which contestants are allowed to access the network is via web browser access to the designated Competition Server; even running a single 'ping' command is strictly prohibited. Contestants should never attempt to "fix" or "debug" or even "check" computer or network problems themselves; instead, they should ask for assistance.

Backups

Contestants will be able to make and retrieve backups through a facility provided as a part of the competition environment.

Back to top

Competition Procedures

Starting the Competition

On the competition days, immediately, after breakfast ends, contestants will be admitted to the competition rooms. All contestants must wear their ID badges during the competition. Each contestant will have a pre-assigned room and computer within that room; this information will be posted in the morning of the competition day. Contestants should be in their seats by 7:55 (5 minutes before the competition starts). On the way to their computers, contestants will be checked to verify that they are not bringing anything with them into the competition rooms other than pens, pencils, erasers, clothing, reasonable jewelry, and simple  wristwatches. Contestants must find their assigned computer, sit down, and wait for the competition to begin without touching any:

  • computers,
  • keyboards,
  • mice,
  • other competition materials including tasks.

The beginning of the competition will be marked by a start signal, after which time the contestant may use any of the above items.

Questions about the Tasks

During the first hour of competition, contestants may submit written questions concerning any ambiguities or items needing clarification in the competition tasks. Questions must be submitted on the provided Clarification Request Forms, expressed either in the contestant's native language or in English. If required, delegation leaders will translate their contestants' questions to English after they are submitted and before they are sent to the Scientific Committee. The Scientific Committee will respond to every question submitted by the contestants. Since this might take some time, contestants should continue working while waiting for the answer to their questions. Most questions will be answered with one of "YES", "NO", or "NO COMMENT"; contestants should phrase their questions so that a yes/no answer will be meaningful. Contestants will not be involved in or exposed to discussion regarding their questions. However, in cases where the Scientific Committee feels that the contestant does not understand the task statement, English text which helps clarify the task may be added to the response, and if necessary, translated by the contestant's Delegation Leader into the language in which the question was originally posed.

Ending a competition round

Contestants will be warned at 15 minutes, 5 minutes and 1minute before the end of the competition. Each warning will be both verbal and written on a board. The end of the round will be announced verbally. At the announcement ending the round, contestants must immediately stop working and wait at their desks without operating the computers or touching anything on their desks. An additional announcement will be made instructing them to leave the competition room.

At the end of each Competition Round, all personal items (except the own keyboard) should be taken out of the competition room, including the task statements; nothing of value should be left in the competition room.

Appeal Process

At the end of each competition day, submitted solutions are judged using data which conforms to the specification given in the problem statement, but which is unknown to competitors during the competition.

Provisional grades, based on these tests, are delivered to team leaders before 16:30. The test data will be available electronically in the contestant  environments. Contestants and team leaders may use the contestant workstations to verify that the grading is correct.

A Team Leader may file an appeal by completing and submitting a downloadable appeal form before 20:00 on the competition day. Every appeal will be examined by the Scientific Committee, and the team leader will be notified about the Committee's decision.  All appeals and dispositions will be summarized at the next General Assembly meeting.

If a mistake is discovered in the grading of a task, the solutions of all the contestants to that task will be automatically re-evaluated. Note that the re-evaluation may result in a higher or a lower score for any contestant; should anyone's result change the new result will be printed and delivered to them

Grading

For tasks that require programs as solutions, the submitted source files will be re-compiled under Linux, enforcing the source file size and compilation time constraints. The following commands will be used to compile solutions of tasks (say the task name is abc):

  • For C - gcc -O2 -static abc.c -lm
  • For C++ - g++ -O2 -static abc.cpp -lm
  • For Pascal - ppc386 -O2 -XS abc.pas,

The grading system will then execute the compiled program under Linux, enforcing the task-specific run-time resource constraints. There will be a CPU run-time limit, and a limit on total memory use. The actual limits will be specified in the task materials. If a program exceeds its allotment of any resource, the program is terminated and the test run is marked incorrect, without regard to any output produced.

Every test case consists of  one test run. Every limit applies independently for each test run. Points for a test case are awarded if and only if the test run is successful, i.e. no limits are exceeded and the outputs produced are correct.

Only programs submitted to and accepted by the grading system will be awarded points.

Back to top