The Studio is a full-screen editor for a problem's programs and tests. Instead of opening the checker, a generator and a solution one page at a time, you open them side by side as tabs, change one, run another against a test, and see the result without leaving the screen.
Open studio in a problem's header opens it. The rows on the problem's Testing and Solutions tabs open their part in the Studio too: the checker, the interactor, the validator, a generator, a solution. Exit returns to the problem. The Studio is available for every problem type except Quiz and Widget. You need permission to write problems to change anything in it.
The sidebar lists what the problem is made of:
Statement and Editorial, as the participant will read them.
Tests, the problem's testsets and tests.
Checker, Interactor (on Interactive and Communication problems only) and Validator, one of each.
Generators and Solutions, as many as the problem has, each group with its own button to add a new one.
Clicking a part opens it as a tab. Tabs can be dragged around, and Layout switches between Single, one tab at a time, and Split, two groups side by side. A tab with unsaved changes asks before it closes.
Every program — checker, interactor, validator, generator, solution — opens in the same editor. The toolbar above the code picks the runtime, adds the additional files the program needs, and offers:
Action | What it does |
|---|---|
Save | Stores the program with the problem. |
Run | Runs the code in the editor on a test or an example you pick, without saving it, and shows its output. For the validator, runs it over every test and opens the results in a Validation tab. |
Submit | Solutions only. Judges the code against the problem's tests, as a participant's submission would be, and streams the result into a testing tab. |
Settings | The name, and for a solution its expected outcome. |
Delete | Removes the program from the problem, after a confirmation. |
Reset to template | Replaces the code with the template a new program starts from. |
Run is also on Ctrl+R on a Mac and Alt+R elsewhere, and Submit on Ctrl+T or Alt+T.
A part marked secret, as parts of imported problems often are, opens as Secret data and cannot be read.
What each program is for is described on its own page: Checkers, Interactors, Validators, Generate tests and Reference solutions.
The Tests tab has two views. Table lists the tests by testset, with Add test, Add testset and Import tests, as described in Test cases. Script holds the problem's test script, with Preview and Run; what a run would change, or did change, opens in a Script Output tab.
The sidebar also opens Copilot as a tab. It sees the problem you are editing, and when it changes a part — rewrites the checker, adds tests, fixes the statement — the open tab shows the change. Each conversation keeps its own tab, so you can have one working on tests while you edit a solution beside it.