{% extends "main.html" %} {% block extrahead %} {% endblock %} {% macro quality_item(title, icon="") %}

{% if icon %} {% endif %} {{ title }}

{{ caller() }}
{% endmacro %} {% macro feature_item(title, link, recordingId, command="", reverse=None) %} {% if reverse is none %} {% set direction = "flex-row even:flex-row-reverse" %} {% else %} {% set direction = "flex-row-reverse" if reverse else "flex-row" %} {% endif %}

{{ title }}

{% if command %}

$ {{ command }}

{% endif %}
{{ caller() }}
{% endmacro %} {% block tabs %}

Problem setting made easy

Start preparing your contest in no time, right from your terminal.

rbx logo
{% call quality_item("Blazingly fast", icon="bolt") %}

Everything is cached, only affected nodes are recomputed.

{% endcall %} {% call quality_item("Easy to use", icon="face-smile") %}

Thorough documentation to get you rolling.

{% endcall %} {% call quality_item("Ship everywhere", icon="rocket") %}

Build packages for BOCA, Codeforces and more.

{% endcall %} {% call quality_item("Correctness is key", icon="check") %}

Seamless integration with the testlib library.

{% endcall %} {% call quality_item("Think outside the box", icon="box-open") %}

First class support for interactive problems.

{% endcall %} {% call quality_item("Define once, use everywhere", icon="recycle") %}

Declare your constraints as variables, reference them everywhere.

{% endcall %}

Maratona Mineira

See who's using


{% call feature_item("Visualize your testset", "setters/testset/#visualizing-the-testset", "cqUTWgIRFA1P7VsV39uJTorKC", command="rbx ui") %}

Visualize your testset interactively, without leaving your terminal.

Check the test input, the expected output, and information about the origin of the test case.

{% endcall %} {% call feature_item("Verify solutions", "setters/running", "x8NJUtmob4uSHUUFppxUn64Kn", command="rbx run") %}

Verify whether correct solutions pass, and incorrect solutions fail at least one testcase.

Define their expected verdict once, and let the tool verify it for you.

{% endcall %} {% call feature_item("Stress test", "setters/stress-testing", "TOoswpIL4mRKfstnDCkKLw2Xn", command="rbx stress") %}

Build a strong testset by generating random testcases that break incorrect solutions.

Ensure your correct solutions pass a stress test scenario and cover all edge cases.

{% endcall %} {% call feature_item("Validate inputs", "setters/verification/validators", "141SSzM2QsLqznBknzMdojOHj") %}

Validate your input data with validators and never worry about invalid input data again.

{% endcall %} {% call feature_item("Unit tests", "setters/verification/unit-tests", "51w76V3tB3zirJkucufFVD4hs", command="rbx unit") %}

Write unit tests for your custom checkers and validators and reduce the likelihood of bugs in your problem.

{% endcall %}
{% endblock %} {% block content %}{% endblock %}