No, everybody may participate. It does not matter if student, or not.
Each problem will be made public at 9:00 am (Passau local time). The first problem starts on 2023-12-01, the last one on 2023-12-24.
No, all problems can be solved until the end of the year. The time of the submission does not influence your score.
If there are several participants with the same score in the end, the first three places will be determined by a jury.
The jury will focus on these criteria:
If needed, the jury can take other aspects of your submission into account.
Depending on the problem, points are awarded either static, or dynamic. Furthermore, there are problems for which criteria additional to passing all testcases must be fulfilled.
Each problem has several testcases with which your submission is evaluated. Each testcase values a specific number of points. A problem with four testcases with each 25 points values 100 points in total. If the submission passes three of the testcases, it is awarded with 75 points. The total score of a participant results from the sum of his best submission for each task.
Each problem has several testcases with which your submission is evaluated. The problem values up to 100 points depending on the number of solved testcases. The more participants solve the problem, the less points can be achieved.
The score is calculated like this:
Total submissions (one per participant) for the problem: total
Correct submissions (one per participant) for the problem: solved
The submission factor (between 1 and 0) based on the solved testcases: sf
Minimum points for a solved problem: 50
Maximum points for a solved problem: 100
Fraction of correct solutions: sr = solved / total
Problem factor: cf = 50 + (100 - 50) * (1 - sr)
Then, the score is: Score = sf * cf
Yes, even if you fail some testcases, you will get points for the testcases you passed. The submission with the most points scored counts for your total score.
The compiler status is a number returned to the system by the compiler after compiling the program. A value of 0 signals that there were no problems. Other values suggest an error during compilation.
The program status is a number returned to the system by the program after finishing execution. A value of 0 signals that the program terminated ordinary.Other values suggest a crash or another error.
Your program has a memory limit of 100 megabyte and a time limit of 60 seconds per testcase. To ensure a fair competition you should renounce any "creative" submissions as an error in the evaluation system has a negative effect on all participants.
Your program may use up to specific amount runtime per testcase, which is language dependent. You can find the values in list of supported languages. If this value differs for a task, if will be noted in the description.
Your program may use up to a specific amount of memory for each testcase, which is languages dependent. You can find the values in list of supported languages. If this value differs for a task, if will be noted in the description.
When a testcase is evaluated, your program gets its input from the standard input (STDIN), that is similar to typing the input on the keyboard. After all input data has been sent, the standard input gets closed with an "End Of File" (EOF). Your program has to evaluate the input, calculate a result and finally output the result.
Your program has to evaluate the input, calculate a result and output that result. The output must be sent to the standard output (STDOUT). As a linebreak either \n (newline) or \r\n (carriage return & newline) may be used. Be aware that often a linebreak is needed also after the last line of output!
We have created several example programs, which demonstrate in- and output in some popular programming languages.
You can submit solutions in C, C++, C#, Go, Haskell, Java, Javascript, Perl, PHP, Python, Rust, Scala and many more languages. You can find the full list in our language overview .
Your submission must consist of one single file. If not stated otherwise, you have only the possibilities provided by the languages' standard library.
No! In principle, we only provide the standard library for all languages in order to ensure that each language is about equally useful. To lift all languages to a comparable level by installing libraries would be too difficult: How would you port the functionality of numpy to COBOL, Fortran or TCL? That is why we restrict each language to its standard library. Anyway, where would be the fun if the solution for each problem was simply calling a library function?
You can have a look at the list of supported languages for information which features are supported and which versions are installed.
There are several reasons why not all testcases are visible to the public: First, we need to prevent that the solutions are calculated manually and are then hardcoded into the program. Second, the private testcases often check special and cornercases, which are not covered by the public testcases.
If many participants submit a solution at once it may take some time to evaluate all tasks. Please be patient if that happens. If you still have no result after 15 minutes you may contact us.
Your submission did not pass one or more testcases. Carefully check the list of testcases again and rework your solution
Your submission is still under evaluation by the system, therefore there is no result available yet. Perhaps some testcases are already completed.
The output of your program does not match the expected result. Before starting debugging, check if you missed a linebreak as this is a very common error.
To completely solve a problem all testcases must be passed. Testcases which are under evaluation are not processed yet. If there still is a testcase under evaluation 15 minutes after your submission, please contact us.
If your program crashes or returns an error message the testcase is considered as failed. You should identify the problem using the error message and fix your program accordingly. A runtime error can also occur if your program runs out of memory.
If a testcase has this status, your program exceeded the runtime limit and therefore was killed. If you encounter this error you should find a more efficient implementation or algorithm.
Somehow your program could not be processed by the compiler. Please check the compiler output or errors. If you can compile your program with the standard distribution of the used language and you believe that the error is caused by our system, please contact us.
Everybody knows that scripting languages are not compiled, however we still do it - to be more specific, we parse the program. If this yields an error, this is not considered an erroneous submission but a "compiler error".
If you have a question or remark regarding a problem, you can contact us via the question-form below the problem description. Be aware that we can not always answer questions regarding a problem or its implementation.
You can also write us an email: adventskalender@ieee.uni-passau.de. We are always glad to receive remarks or bug reports.