Skip to main content

Code Arena

Code Arena is a set of timed programming problems you solve in the browser. You write the code, run it, and submit it against a set of test cases — some you can see, some you can't. Solve every case and you earn Zeal and Jolt.

By the end of this page you will know how to pick a problem, how your program receives its input (read this part even if you skip the rest), and how rewards are worked out.

Open it from Evaluate → Code Arena in the sidebar. You need to be signed in.

1. Find a problem

The Code Arena home page lists topics:

KindExamples
TopicsGeneral, Development Basics, Interview Preparation, Data Structure, Advanced Data Structures, Algorithms, Competitive Programming, OOP, Scripting, Dynamic Programming, Code Optimization
Language tracksPython, Java, C, C++, PHP — each with its own subtopics

Open a topic and use the tabs across the top to browse it:

TabShows
RecentThe newest problems in the topic
PopularProblems most people are playing
Most Solved / Most AttemptedRanked by solves or by attempts
Generated by MeProblems you created with Surprise Me
Solved ProgramsProblems you have already solved
My FavoritesProblems you liked
LeaderboardThe leaderboard for this topic

Pick Easy, Normal or Hard to filter by difficulty. Your choice is remembered.

Each problem card shows its Zeal and Jolt reward and how many minutes you get. Click Launch Arena to open it.

Surprise Me

Surprise Me asks the AI to write a brand-new problem for the topic and difficulty you picked. It costs Jolt — the dialog shows the cost, your balance and what you will have left before you click Generate. Surprise Me problems pay 20% more Zeal.

Generation takes a couple of minutes, and you can have one running at a time. If you come back too early you will see "The problem statement is still being generated. Please check back…" — wait and try again.

Sometimes Surprise Me hands you a problem that was generated in advance instead. Once you claim it, nobody else can.

2. Start the timer

Opening a problem shows a summary first: the reward, how many people have solved it, total submissions, difficulty, tags, category and Total Timing in minutes.

Click Start Program. The countdown starts now, and it is kept on the server — closing the tab or reloading does not pause it.

3. The challenge screen

The full challenge screen after starting: left panel on the Problem tab showing the CLI Argument Explanation and STDOUT Explanation sections; right panel showing the language picker, Zeal/Jolt, countdown and Renew Timer button, the editor, and the Run / Validate / Submit buttons; bottom panel open on Test Cases. Label the three areas.

Left panel — tabs:

TabWhat it is for
ProblemThe statement, constraints, CLI Argument Explanation with an example, STDOUT Explanation with an example, hints and tags
Code AI ✨A paid AI assistant for this problem — see Code AI
InstructionsKeyboard shortcuts and the reward rules
ResultYour last submission result, and Show Reviews for an AI review of your code
ReportReport a broken problem

Right panel: the language picker, your Zeal and Jolt, the countdown with a Renew Timer button, the editor, and the Run, Validate and Submit buttons.

Bottom panel: Test Cases, Terminal and Stats.

More than 40 languages are available. Problems in a language track are locked to that language.

ShortcutDoes
Ctrl + SSave
Ctrl + Shift + FLoad your saved answer
Ctrl + ERun

Your code is also saved automatically, separately for each language.

4. Input comes from command-line arguments, not the keyboard

Your program does not read standard input

Test data is passed to your program as command-line arguments. Nothing is typed into it. input() in Python, scanf() in C or a Scanner on System.in in Java will get nothing — and your solution will fail every case even if the logic is right.

Read the arguments instead:

import sys

numbers = [int(x) for x in sys.argv[1:]]
print(sum(numbers))
#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[]) {
int total = 0;
for (int i = 1; i < argc; i++) total += atoi(argv[i]);
printf("%d\n", total);
return 0;
}
public class Main {
public static void main(String[] args) {
int total = 0;
for (String a : args) total += Integer.parseInt(a);
System.out.println(total);
}
}

Two things to check on every problem:

  • CLI Argument Explanation on the Problem tab says what each argument is and in what order. Its example shows a real argument list.
  • STDOUT Explanation says exactly what to print. Output is compared as text, so an extra space, a missing newline or a debugging print fails the case.

The Terminal tab shows the command your program is run with. For Java it is java Main, so keep your class named Main.

5. Run, Validate, Submit

ButtonRuns your code againstCounts as a submission?
RunArguments you type into the box above the terminal, or the example next to a test case (Run with arguments)No
ValidateThe test cases you can see — the visible ones plus any you have unlockedNo
SubmitEvery test case, including the hidden onesYes

Use Run and Validate as much as you like while you work. Submit is the one that is judged and the one that affects your reward.

There is a short cool-down between runs. If you click too fast you will be asked to wait a few seconds.

The Test Case Verification Results panel showing 'Some Test Cases Passed, Some Failed', with at least one visible case showing STDOUT and Expected STDOUT, one hidden case showing only pass/fail, and the Memory, Execution Time and Wall Time values.

After Submit you see one of All Test Cases Passed, Some Test Cases Passed, Some Failed or All Test Cases Failed, and for each case whether it passed, with memory, execution time and wall time.

Hidden test cases

In the Test Cases tab, hidden cases show a padlock. When you submit, a hidden case tells you only whether it passed — not its arguments or expected output.

To see one, click its padlock and unlock it with Jolt. Each problem allows only a limited number of unlocks, and each costs more than the last. Once unlocked, the case's arguments and expected output appear, and Validate includes it.

6. The time limit and renewing

The countdown is the deadline. When it reaches zero, every action is refused with "Session expired. The allotted time has passed." and the page reloads.

To keep going, click Renew Timer before the countdown runs out. Use the slider to choose how much time to add — the dialog shows the Jolt cost. Harder problems cost more Jolt per minute. If you do not have enough Jolt, the renewal fails.

If the time does run out, you can open the problem again and click Restart Program. That counts as another attempt, which lowers the reward.

7. How rewards work

  • All or nothing. You are rewarded only when a submission passes every test case, hidden ones included. There is no partial credit.
  • Once per problem per language. Solving the same problem again in the same language pays nothing. Different compiler versions of the same language — several C, C++ or Python versions — count as one language.
  • Fewer tries pay more. Full Zeal and Jolt go to a solve on your first attempt with a single submission. More attempts and more submissions reduce the reward. The Instructions tab lists the exact deductions.
  • Another language pays a bonus. Solving a problem you have already solved, in a different language, earns an extra 20%.
  • Code AI cancels the reward. See below.

When you solve a problem you get a notification, and it may count towards Code Arena achievements.

Make the first submission count

Use Run and Validate until the visible cases pass, then Submit. Each extra submission lowers what you earn.

Code AI

The Code AI ✨ tab is an AI assistant that can see your code and answer questions about the problem. Unlocking it costs Jolt, and:

Unlocking Code AI means no reward for that problem

The unlock dialog says so before you confirm: "Unlocking CodeAI will not earn you rewards — it's a learning session." The Jolt is spent and cannot be refunded.

Use it when you want to learn from a problem rather than score it.

What costs Jolt

ActionNotes
Surprise MeGenerating a new problem
Unlock HintHints unlock one at a time
Unlocking a hidden test caseLimited per problem; each costs more than the last
Code AIAlso forfeits the problem's reward
Renew TimerCost depends on difficulty and time added

Every unlock dialog shows the cost, your balance and what you will have left. See Zeal and Jolt for how you earn Jolt.

Leaderboards

  • The Code Arena Leaderboard (Mastery Hall → Code Arena Leaderboard) ranks everyone by Zeal earned in Code Arena, then by problems solved.
  • Each topic has its own Leaderboard tab. It rewards harder problems, first-try solves, low memory use and solving in extra languages, and counts hints, unlocked test cases and extra submissions against you.

See Leaderboards and leagues.

Reporting a broken problem

Problems are written by AI, and sometimes one is wrong. Open the Report tab, tick every reason that applies, and click Submit:

  • Incorrect Questions or Answers
  • Missing Test Cases
  • Incorrect Logic
  • Inefficient Algorithm
  • Unrealistic Inputs
  • Time Complexity Issues
  • Compatibility Issues

You can report a problem once. Reports go to the platform's moderators.

Next