Skip to content

Creating Problems

This guide walks you through creating programming problems in omegaUp.

Quick Start

The easiest way to create a problem is using the Problem Creator (CDP):

  1. Visit omegaup.com/problem/creator
  2. Fill in problem details
  3. Add test cases
  4. Configure limits and languages
  5. Upload and publish

Video Tutorial

Watch this tutorial for a visual walkthrough.

Problem Components

Required Elements

  • Title: Problem name
  • Alias: Short identifier (used in URLs)
  • Statement: Problem description (Markdown supported)
  • Test Cases: Input/output files
  • Validator: How outputs are compared
  • Limits: Time and memory constraints

Optional Elements

  • Source: Problem origin (e.g., "OMI 2020")
  • Tags: Categorization tags
  • Validator Code: Custom validator program
  • Checker: Custom output checker

Validator Types

Type Description
literal Exact match
token Token-by-token comparison
token-caseless Case-insensitive token comparison
token-numeric Numeric comparison with tolerance
custom User-defined validator

Problem Limits

Configure appropriate limits:

  • Time Limit: Execution time per test case (milliseconds)
  • Memory Limit: Memory usage limit (KB)
  • Output Limit: Maximum output size (bytes)

Supported Languages

omegaUp supports many programming languages:

  • C, C++ (various standards)
  • Java, Kotlin
  • Python ⅔
  • Ruby, Perl
  • C#, Pascal
  • Karel (Karel.js)
  • And more...

Advanced: Manual ZIP Creation

For advanced use cases, see Problem Format for manual ZIP file creation.