JavaScript (SpiderMonkey)

General information

This tutorial gives a brief introduction to the evaluation platform and how to interact with it. It shows you how to solve a simple problem. The tutorial assumes that you are familiar with the choosen programming language.

When taking the test, you will be given a number of programming problems to solve. Each problem has a difficulty rating. The problems can be solved in any order; however, we suggest you start with the easiest. You will need to write a program to solve each of the problems. Feel free to use your preferred IDE, or our online text editor. Once you have created and tested the code, you will be able to submit your code for evaluation.

After you submit the code, it will be automatically evaluated. After some careful deliberation, you will get a judgement informing you whether your code behaved as expected or not. Look at How judging is done in the help for details on the judgement process and possible judgements returned from the system.

If the judgement is Accepted, your solution is deemed correct and sufficiently fast. You may submit additional attempts at the same problem, for example after cleaning up and commenting the code, or move on to the next problem. If the judgement is not accepted, you may debug your solution (with the judgement as a general guideline) and submit an alternate solution.

You can submit as many solutions as the allotted time allows. The last solution submitted for each problem will be used in assessing your programming proficiency.


Your program should read its input from standard input and produce output on standard output. This can for instance be done using readline() / print().

Input will always follow the input specification (so you do not need to validate the input). Your output must follow the output specification.

Compiler settings

For JavaScript (SpiderMonkey), we use SpiderMonkey version JavaScript-C78.13.0 with the following flags: -c {files}.

System libraries

You are allowed to use all standard libraries included with JavaScript (SpiderMonkey).


We are currently using Dell PowerEdge R230 servers for judging. These are equipped with an Intel Xeon E3-1220V6 CPU running at 3.0 GHz and 8 GB RAM. A 64-bit Linux kernel is used.


We will inspect the exit code of your program. If it is non-zero, we will judge your submission as Run Time Error.

Solving a problem

Now lets get down to business and write some code. The short tutorial below goes through the solution of A Different Problem.

  1. The problem
  2. Reading the input
  3. Computing the answer
  4. The solution

Step 1: The problem

You are tasked with writing a program that computes the difference between integers. Sounds simple, doesn't it? Well, as we will see, the problem still holds some small difficulties.

Step 2: Reading the input

One thing to note is that the integers can be fairly large, as large as 1015. Luckily, JavaScript's, number is large enough.

Now that we have determined a suitable type, we just have to read the data. Reading is done from standard input. In this problem, we should read until the end of the file (in other problems, there might be an integer at the beginning of the input, specifying how much to read, or there might be a special indicator denoting that there is nothing more to read). Using readline(), this can be done as below:

var line; while (line = readline()) { var nums = line.split(' '); var a = parseInt(nums[0]); var b = parseInt(nums[1]); /*Solve the test case and output the answer*/

Step 3: Computing the answer

Now that we've read the input, it's time to actually solve the problem. Since 0 ≤ a, b ≤ 1015, we have that −(1015) ≤ ab ≤ 1015, which means that there is no danger of overflow involved in just subtracting the two numbers a and b. Then, we can just take the absolute value by using the Math.abs function.

Finally, it's time to print the result. Using print (assuming the int variable res holds the result):


Step 4: The solution

Now we are basically done, all that remains is to combine the above parts.