Compilers

Easy-to-use API for code compilation & execution.
You submit your source code, we compile and execute it. That's it!


Problems

API and CMS for building and managing programming challenges.
Find out more about the endless capabilities of our system!


Basic Use

Checking whether a coder is able to solve a simple programming task is the fastest way to verify his or her skills.

Grading with partial score

Our system runs a batch of tests on a user-submitted program and displays the number of tests passed as a percentage.

Showing tests for which a program failed

In this scenario, the system displays a table with results returned by the user's program along with the expected outcome, highlighting positions with wrong output.

Optimization: minimize the score

This Judge gives the user's program a score, based on the quality of solution. Lower is better. It's usually easy to solve the problem somehow, but hard to optimize.

Optimization: maximize the score

This Judge gives the user's program a score, based on the quality of solution. More is better. It's usually easy to solve the problem somehow, but hard to optimize.

Evaluating time complexity

Computational complexity is one of the most important properties of algorithms. Our system can judge how efficient a proposed algorithm is.

Evaluating memory use

The memory requirements of a computer program are, together with its execution speed, a crucial parameter determining its efficiency and usability. Our system allows you to distinguish solutions with respect to their operational memory requirements.

Evaluating solutions to intractable problems

Some problems cannot be solved exactly in reasonable time. Your user's task is to solve such a problem much more quickly, but getting an answer which is only an approximation of the optimal one.

Ambiguous answers

Some problems have not one but many correct answers. In other cases it's impossible to give the exact result. Our system provides means to automatically verify solutions for such problems.

Source code length

A deep understanding of the programming language is part of a programmer's craftsmanship. Being aware of the capabilities of the may lead to shorter and better code. Our system allows you to challenge users to provide not only valid, but also compact solutions.

Imposing restrictions on available elements of the programming language

Imposing artificial restrictions on a solution is possible by analyzing source code. If a programmer used forbidden symbols or instructions in their code, their solution will be rejected.