Last modified: July 04, 2005.
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.
The CEOI aims at motivating secondary school students of Central Europe to :
Additionally, the CEOI may :
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.
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 (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:
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.
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.
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.
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.
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.
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:
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.).
The source program provided by the contestant must be contained in a single source file. The task statement will define:
The source program provided by the contestant must be contained in a single source file. The task statement will specify:
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:
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.
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:
All of the above actions are considered cheating, and may result in disqualification.
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.
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.
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.
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.
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.
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.
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.
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.
Contestants will be able to make and retrieve backups through a facility provided as a part of the competition environment.
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:
The beginning of the competition will be marked by a start signal, after which time the contestant may use any of the above items.
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.
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.
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
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):
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.