Contest web service user manual
The contest web service is available from workstations at
http://contest/.
During each Competition Round this service provides facilities to:
- submit solutions,
- submit test executions,
- make backup copies of files and restore them,
- print files,
After each Competition Round (when the grading results are checked by
the teams) this service provides facilities to:
- download the graded solutions,
- download test cases,
- browse evaluation results.
Logging into the service
In order to perform any of the above operations, you have to
log into the web service by entering your login and a password at the
authorization page. Login and password will be provided by the
organizers. A new password will be assigned on each competition day.
After a successful login the main contest page will appear, showing
time to end of the current contest, a list of possible operations, a
list of your submissions and evaluation results when they
are available.
You can log out at any time by clicking "Logout" from the menu on
the left hand side.
Submitting a solution
Choose "Submit a solution" from the menu. Choose a task, select
a file with a source code of your solution and click the Send button.
The programming language in which your solution is written is
identified by the extension of the source file name. The extensions
are:
- .c and .C for C,
- .cpp and .CPP for C++ and
- .pas and .PAS for Pascal.
The solution will be compiled and run on the example test case. As
soon as it is done, you will see the result on the list of your
submissions. You may select the submission there to see more detailed
information.
All your submissions are stored on the server and are available to
download.
Number of submissions is limited to 30 submissions per task. The source
code size must not exceed 100 kB.
Submitting a test execution
During the contest you can run your program on your input file in the
same environment in which the solutions will be evaluated.
Choose "Test a program" from the menu. Choose a task, select a file
with a source code of your program, select an input file and click the
Send button. Execution time and memory limits will be the same as for
the chosen task. The programming language is identified in the same
way as when submitting a solution.
After the program is run, you will see the result on the list of your
submissions. Select the test execution from the list to see detailed
information, including your program's output.
All your submitted files are stored on the server and are available to
download.
You can submit at most 30 test executions per task. The source code size
of the program must not exceed 100 kB. The input file size is also limited
to 100 kB. If you want to submit a bigger input file, you can compress it
(using gzip) before submission. The size of a compressed file must still not
exceed 100 kB and the size of a decompressed file is limited to 50 MB.
After the test execution is completed, you can see its results, i.e.
the time measurement and the first 100kB of the standard output produced.
If your program's output is bigger than 100 kB it will be truncated to that size.
Test cases
After publication of the results, you will be able to download
the test cases along with correct answers. The link to them will be
in the menu on the main page.
Backup copies
To make a backup copy of a file, choose "Backup a file" from the
menu. Select a file and click the Send button. The file will be stored
on the server.
To restore a stored file, choose "Restore a file" from the menu. You
will see a list of all your backup copies. Click on a file to retrieve
it. You can also choose to delete a stored file. It may be necessary
since the number of files stored on the server is limited to 100 files
per contestant.
Notice that all your submitted solutions and files for test runs are
also stored on the server. They are not counted as backup copies. When
you choose a submission from the list, links to those files will be
shown.
The size of the sent file must not exceed 100 kB.
Printing a file
To print a file, choose "Print a file" from the menu. Select a text
file and click the Send button. The file will be sent to the printer
and the printout will be delivered to your workstation.
The size of the printout is limited to 10 pages. On each competition
day the contestant can print at most 30 documents.
Evaluation results
After choosing a submission from the list on the main page, you will see
its evaluation results. During the contest, only the results of compilation
and execution on the example test case will be available. After the contest,
the full evaluation report will be shown. The test cases on which your
solution was evaluated will be available from the main menu.
Additionally, after the contest you will see your results on the main
page. To see the full report from a competition day, click on the
report name in the list of results.
Evaluation reports
If a solution does not compile, the report will contain the compiler's
message. If the solution compiles successfully, the report will contain
execution results for each test case. The report includes the
following information about execution results on a single test case:
- one of the results:
- OK
- the program terminated without any error within the time limit
and gave the correct answer,
- Wrong answer
- the program terminated without any error within the
time limit, but its answer was not correct,
- Time limit exceeded
- the program did not terminate within the
time limit,
- Runtime error
- the program was terminated by a signal
(e.g.. because of division by zero or invalid memory access),
returned an exit code other than zero or tried to use too much memory.
- program's execution time and the time limit,
- the number of points the program scored and the maximum number
of points for the test case.
Example report
Contestant: | Jan Kowalski (pol99) |
Date: | 2005-04-19 16:07:59 |
Result: | 60 |
Comment: | IOI'2005, Day 1 |
Task: | jou/Journey |
Date: | 2005-04-19 16:09:08 |
Result: | 60/100 |
Files: | solution |
Test |
Result |
Time/Limit |
Points |
0 |
OK |
0.02s/10.00s |
0/0 |
1 |
Time limit exceeded |
--/10.00s |
0/10 |
2 |
Runtime error |
0.02s/10.00s |
0/10 |
3 |
Wrong answer1 |
0.01s/10.00s |
0/10 |
4 |
OK |
0.02s/10.00s |
10/10 |
5 |
Wrong answer2 |
0.01s/10.00s |
0/10 |
6 |
OK |
0.02s/10.00s |
10/10 |
7 |
OK |
0.02s/10.00s |
10/10 |
8 |
OK |
0.01s/10.00s |
10/10 |
9 |
OK |
0.02s/10.00s |
10/10 |
10 |
OK |
0.03s/10.00s |
10/10 |
|
1 line 1: read '7465', expected '7464'
2 line 1: read '15540', expected '15539'
Summary of limits
number of submissions | 30 | per task |
number of test executions | 30 | per task |
size of a source code | 100 | kB |
size of an input file submitted for a test execution | 100 | kB |
size of a compressed input file after decompression | 50 | MB |
size of a test execution output file | 100 | kB |
size of an executable file | 10 | MB |
compilation time limit | 30 | s |
number of backup copies | 100 | per contestant |
size of a backup copy | 100 | kB |
size of a printout | 10 | pages |
number of printouts | 30 | per day |
execution time and memory | depending on a task |
Note that the number of test runs performed on your local computer is not
limited by the rules.
Note on stream input/output in C++
The iostream functions in the competition C++ compiler are
very
slow. We recomend using cstdio functions instead. Below you
can
find solutions to a sample task written in all competition languages.
Sample task and its solutions
Square
Task
Write a program which reads a number from the standard input
x (-100 <= x <= 100) and writes it squared to the
standard output.
Solution in C
#include <stdio.h>
int main() {
int number;
scanf("%d", &number);
printf("%d\n", number * number);
return 0;
}
Solution in C++
#include <cstdio>
using namespace std;
int main() {
int number;
scanf("%d", &number);
printf("%d\n", number * number);
return 0;
}
Solution in Pascal
var
number : integer;
begin
Read(number);
Writeln(number * number);
end.