Proggy-Buggy Contest Proggy-Buggy Contest Proggy-Buggy Contest

Proggy-Buggy Contest is an international informal programming contest where participants solve 13 algorithmic problems in 42 minutes. The contest has been organized by DataArt since 2013, and more than 15,000 participants from 65 countries have competed in it over the years.

The Proggy-Buggy Contest takes place twice a year in two different formats:

Spring Contest (May) — individual participation only
Fall Contest (October) — team participation only

The competition consists of 13 algorithmic problems that participants must solve within a 42-minute time limit.

Proggy-Buggy Contest 2026

June 6th 10:00 (UTC)

Why 42?

The 42-minute time limit is inspired by The Hitchhiker’s Guide to the Galaxy by Douglas Adams.

“The Answer to the Ultimate Question of Life, the Universe, and Everything is 42.”

— Deep Thought, after 7 million years of calculation

That’s why participants get exactly 42 minutes to solve the problems.

Why “Proggy” and “Buggy”?

The main characters of the contest problems are Proggy and Buggy. Proggy comes from the word “program,” while Buggy refers to programming bugs and errors.

Proggy is a highly skilled and creative programmer, while Buggy occasionally causes unexpected errors and complications that Proggy must overcome.

Why Participate in the Proggy-Buggy Contest?

Proggy-Buggy Contest is not just about solving problems — it’s about gaining experience, testing yourself, and enjoying the challenge.

By participating, you can:

  • Try competitive programming without spending hours on a contest
  • Discover your strengths and gaps in algorithms and logic
  • Compare your approaches with other participants after the contest
  • Meet other participants, especially if you join an offline hub

Unlike many programming contests, Proggy-Buggy Contest:

  • lasts only 42 minutes
  • includes unusual and fun problems
  • is beginner-friendly while still challenging for experienced participants

👉 Even if you are just starting, Proggy-Buggy Contest is a great way to try competitive programming in a friendly, low-pressure format.

You do not need to solve all 13 problems to have a successful contest experience.

Place and Time

The contest is held twice a year:

  • Towel Contest on May 25th — individual participation only
  • Proggy-Buggy Contest at the end of October — team participation only

Why Towel?

The Spring contest is traditionally held on Towel Day, celebrated worldwide on May 25th by fans of Douglas Adams, author of The Hitchhiker’s Guide to the Galaxy.

Online or Offline?

The contest is held online, but participants can also join from selected DataArt offices and partner hubs worldwide.

The list of available offline locations will be published on the registration page and sent to all registered participants before the contest.

When Does the Contest Start?

The contest starts and ends at the same time for all participants worldwide.

Before the contest, organizers send participants a link to the official YouTube livestream. The time announced in advance refers to the start of the livestream, not to the beginning of the 42-minute contest itself.

During the livestream, organizers:

  • repeat the contest rules,
  • answer participants’ questions,
  • and officially announce the start of the contest timer.

That’s why it is important to join the livestream on time so you do not miss the beginning of the contest.

Registration

Registration opens approximately one month before the contest and is required for every participant.

Registration takes place through the official contest page after the contest is announced.

How to Register for the Towel Contest

To register for the Towel Contest, you need to:

  • Create an account or make sure you still have access to your existing account
  • Fill in the registration form
  • Follow the instructions in the confirmation email

⚠ Registration closes one day before the contest. It is not possible to register on the contest day.

How to Create an Account

  1. Go to the Training page and open any available contest.
  2. Click Create Account in the top menu.
  3. Fill in all required fields and choose the participant category that best matches your experience level.
  4. Check your email and follow the confirmation link.
  5. Confirm your account within 24 hours. Unconfirmed accounts are automatically removed.

After creating an account, you can start practicing using previous contests. The same account can be used both for practice contests and official participation.

Forgot Your Login or Password?

  • Forgot your password? Use the password recovery option on any Training contest page.
  • Forgot your login? If you cannot recover it, you may need to create a new account.

Participants

The contest has three participant categories based on programming competition experience.

All categories receive the same problems. Categories affect ranking only.

Amateurs

Amateurs

Participants with little or no experience in international programming competitions. This category is suitable for beginners and participants with university, city, regional, or national-level contest experience who have not participated in international Olympiads such as ICPC or IOI.

Professionals

Professionals

Participants with experience in international programming competitions, including ACM ICPC / ICPC-style contests, IOI, and other international Olympiads, but who were not finalists or winners of major international competitions.

Superheroes

Superheroes

Top-level competitive programmers, including participants, who ranked in the Top 10 of major ICPC or IOI competitions, finalists and winners of major international Olympiads, and previous Proggy-Buggy Contest winners in any category.

⚠ During team contests, the team category is determined by the highest category among all team members.

👉 If you are unsure which category to choose, contact the organization team before registration.

Programming Languages and Compilers

To solve any problem, create a console application and select a programming language from the drop-down list on the Contest Page.

You can use the following programming languages: C, C++, Free Pascal, Java, Mono C#, Python, Ruby, PHP, JavaScript, etc.


Compilers

Perl 5.30.0 clang C 10.0 [-Wall -O2 -std=gnu11] GNU C 9.4.0 [-Wall -O2 -std=gnu99] GNU C++ 9.4.0 [-Wall -O2 -std=c++17] GNU Fortran 9.4.0 GNU Prolog 1.4.5 GNU go 10.5.0 Python 2.7.18 Python 3.8.10 PHP 8.4.6 Mono C# 6.8.0 Mono Visual Basic .NET 6.8.0 .NET C# 8.0.408 .NET Visual Basic 8.0.408 Glasgow Haskell Compiler 8.6.5 Free Pascal 3.0.4 Java JDK 21.0.6 Kotlin 2.1.20 Ruby 2.7.2p137 Rust 1.75.0 Scala 2.13.13 NodeJS 18.17.1 JavaScript V8 version 10.4.0.1 [console: readline]

Problems and Solutions

Contest Format

All problems in the contest are labeled with letters: A, B, C, D, and so on.

You can solve problems one by one or skip a problem and return to it later. Managing your time is an important part of the contest strategy.


What Kind of Problems Should You Expect?

Most contest problems involve:

  • algorithms,
  • logic puzzles,
  • math and string manipulation,
  • tricky or unusual problem statements.

Some problems may intentionally have no solution at all — this is part of the Proggy-Buggy concept and challenge.

You can practice solving problems in the Training Section.


Programming Languages

Participants can use many programming languages, including:

  • C / C++
  • Java
  • C# (Mono)
  • Python
  • Ruby
  • PHP
  • JavaScript
  • Free Pascal

The full list is available in the Programming Languages and Compilers section.


How to Submit a Solution

  • Open the problem (A, B, C, and so on).
  • Read the statement carefully.
  • Write your solution and save the file.
  • Open the Submit a Solution section on the problem page.
  • Choose the programming language.
  • Upload your code file.
  • Click Send.

Multiple submissions are allowed.

Video Guide - https://www.youtube.com/watch?v=vnFwxdx5Egg


What Does “UNDECIDABLE” Mean?

Some problems in Proggy-Buggy Contest are intentionally undecidable. In such cases, participants must determine that the problem has no valid solution.

If you believe a problem is undecidable, your program must output exactly:

UNDECIDABLE

Example (JavaScript):

console.log("UNDECIDABLE");

👉 The key point is: don’t panic.

If a problem seems impossible:

  • take time to analyze it carefully,
  • compare it with other problems,
  • decide whether to continue solving or mark it as UNDECIDABLE.

Understanding that some problems may truly have no solution is an important part of the Proggy-Buggy experience.

Video Guide - https://www.youtube.com/watch?v=qtmU5A07z2U


What Verdicts Can I Receive?

OK — correct solution
CE — compilation error
RT — runtime error
TL — time limit exceeded
ML — memory limit exceeded
WA — wrong answer
PE — presentation error
CF — check failed
SE — security restriction violation

Rules

General Rules

  • Participants must rely only on their own knowledge and problem-solving skills during the contest.
  • The use of AI tools, including ChatGPT and similar services, is prohibited during the contest.
  • Participants may use only materials and information officially provided by the organizers before the start of the contest.
  • Communication with coaches, mentors, or external participants during the contest is prohibited.

Contest Environment

  • The contest starts and ends simultaneously for all participants worldwide.
  • Multiple submissions are allowed.

Communication

Official contest communication is conducted in English.


Disqualification

Participants or teams may be disqualified and removed from the standings for:

  • using prohibited tools or external assistance during the contest,
  • using AI tools, including ChatGPT and similar services,
  • cheating or attempting to gain an unfair advantage,
  • violating contest rules,
  • attempting to interfere with contest systems or infrastructure.

Organizer representatives at offline hubs may monitor participant behavior during the contest. In addition, submitted solutions — especially those of top-ranking participants and teams — may be reviewed after the contest for signs of cheating or AI-generated code. If violations are detected during this review, participants or teams may be disqualified and removed from the final standings.


Participation Restrictions

Participants residing in the territory of the Russian Federation, as well as in other sanctioned territories, are not allowed to take part in the Proggy-Buggy Contest.


Additional Rules for Team Contest

  • All team members must belong to the same participant category. The team category is determined by the highest category among all team members.
  • Team members may participate from different cities or countries, except sanctioned territories.
  • Teams may use voice or text communication tools (Zoom, Telegram, Discord, etc.) only for communication within their own team.
  • Each team must use only one contest account.
  • Solutions must be submitted from a single device only.
  • If organizers detect submissions from multiple devices, the team may be disqualified.
  • Team members are not allowed to receive help from coaches, mentors, spectators, or other external participants during the contest.

Penalties and Scoring

How Are Winners Determined?

The contest uses ICPC/ACPC-style scoring rules.

The winner is the participant or team that solves the highest number of problems with the lowest penalty time.


How Does Penalty Work?

The contest includes two different types of penalties:

  • penalty time for incorrect submissions before an accepted solution;
  • score deduction (-1) for incorrectly marking a solvable problem as UNDECIDABLE.

Both mechanics are important parts of the contest strategy.

Penalty time is calculated only for solved problems.

For each solved problem:

  • the time from the beginning of the contest to the first accepted solution is counted;
  • 20 penalty minutes are added for each rejected submission made before the accepted one. Unsolved problems do not add penalty time.

Example

If a participant solves a problem:

  • 15 minutes after the start of the contest,
  • after 2 incorrect submissions,

the penalty for this problem will be:
15 + 40 = 55 penalty minutes.

👉 This means that solving problems quickly and avoiding incorrect submissions are both important parts of the contest strategy.

How Are UNDECIDABLE Problems Evaluated?

Some Proggy-Buggy problems may intentionally have no solution.

If a participant correctly identifies such a problem and submits UNDECIDABLE, the problem is counted as solved.

However, if a participant submits UNDECIDABLE for a problem that actually has a valid solution, the participant receives -1 for that problem.

This rule exists to prevent random guessing and encourage thoughtful analysis of each task.


Example

  • Correctly identifying an undecidable problem: +1
  • Marking a solvable problem as UNDECIDABLE: -1

If the participant later correctly solves that problem, the score is adjusted back to 0.

Standings and Results

Contest standings are hidden during the contest and become available only after the publication of the preliminary results.

Preliminary results are usually published within 2–3 days after the contest.

After the preliminary results are announced, participants have 3 days to submit an appeal or report a possible issue related to judging results.

The organizing team may take up to one additional week to review appeals and complete the final verification process.

Official contest results are usually published within two weeks after the event.

After the official results are announced:

  • winners and participants receive certificates and diplomas,
  • prize distribution begins.

Participants or teams may be removed from the final standings if violations are detected during post-contest review.

Winners and Awards

Winners are determined within each participant category — Amateurs, Professionals, and Superheroes — regardless of whether the contest is held in individual or team format.


Main Awards

The contest recognizes:

1 Honorary 1st Place 2 Honorary 2nd Place 3 Honorary 3rd Place

for participants and teams in each category.


Additional Awards

Additional prizes may be awarded for:

  • the first correct solution to a problem,
  • the shortest correct solution to a solvable problem,
  • the first correct identification of an undecidable problem,
  • outstanding performance with the lowest penalty time.

Prizes

Winners receive gift cards and DataArt presents.

Prize delivery is arranged individually after the publication of the official results.


Certificates

All participants receive participation certificates after the publication of the official contest results.

Proggy-Buggy Contest 2026

June 6th 10:00 (UTC)

Frequently Asked Questions

What is the Proggy-Buggy Contest?

The Proggy-Buggy Contest is organized by DataArt since 2013, and more than 15,000 participants from 65 countries have competed in it over the years.

  • receive 13 problems
  • have 42 minutes
  • compete to solve as many problems as possible

The contest includes both standard and unusual problems and is designed to be challenging, fast-paced, and fun.

How does the contest work?

The Proggy-Buggy Contest takes place twice a year, in two formats:

  • Spring contest (May) — individual participation only
  • Fall contest — team participation only

In both formats:

  • Duration: 42 minutes
  • Number of problems: 13
  • All participants start and finish at the same time
  • Problems are labeled A, B, C, …
  • You can solve problems in any order
  • Multiple submissions are allowed

How do I register for the contest?

Register via the official contest page when the contest is announced.

Steps:

  • Create an account or make sure you remember the login and password for your existing one
  • Fill in the registration form
  • Follow the instructions in the confirmation email

⚠ Registration closes one day before the contest. It is not possible to register on the contest day.

Do I need to create a new account?

If you don’t already have one, yes — you must create an account on the contest platform.

Without an account:

  • you cannot practice in the Training section
  • you cannot register for any Proggy-Buggy contests

How do I create an account?

To create an account:

  • Go to the Training page and open any available contest.
  • Click Create Account (top menu).
  • Fill in all required fields and choose the participant category that best matches your experience level.
  • Check your email and follow the confirmation link.
  • Confirm the account within 24 hours.

Unconfirmed accounts are automatically removed.

After that, you can start practicing using previous contests.

What if I forget my login or password?

Forgot your password? Use the password recovery option on any Training contest page.

Forgot your login? If you cannot remember your login, you may need to create a new account.

Do I need a team or can I participate alone?

It depends on the contest:

  • Towel contest in May → individual participation only
  • Fall contest → team participation only

This format cannot be changed.

Which category should I choose?

Choose the category that best matches your experience level.

  • Amateurs — beginners
  • Professionals — participants with international competitive programming experience
  • Superheroes — highly experienced competitive programmers

All categories receive the same problems.

Categories affect ranking only.

If you are unsure, contact the organizing team.

What kind of problems should I expect?

Mostly:

  • algorithmic problems
  • logic puzzles
  • math and string manipulation
  • tricky or unusual problem statements

Some problems may intentionally have no solution at all — this is part of the Proggy-Buggy concept and challenge. You can review problems in the Training Section.

Do I have to solve all the problems?

No. Solving even a few problems is already a good result, especially for first-time participants.

Can I skip problems?

Yes. Skipping difficult problems is a common and recommended strategy. You can always return to them later.

What if a problem seems difficult?

Skip it and move on. Managing your time is an important part of the contest strategy.

Can I resubmit solutions?

Yes. Multiple submissions are allowed.

What if a problem has no solution?

Some problems are intentionally undecidable.

In that case, your program must output exactly:

UNDECIDABLE

Example (JavaScript):

console.log("UNDECIDABLE");

How many unsolvable problems can there be in the contest?

It depends on the organizers.

There may be one, or there may be several — that’s part of the contest’s concept and challenge.

👉 The key point is: don’t panic.

If a problem seems impossible:

  • take your time to think
  • compare it with other problems
  • and decide whether to skip it or mark it as UNDECIDABLE

Understanding that some problems may truly have no solution is an important part of the Proggy-Buggy experience.

How are UNDECIDABLE solutions evaluated?

If a participant correctly identifies an undecidable problem and submits 'UNDECIDABLE', the problem is counted as solved.

However, if a participant submits 'UNDECIDABLE' for a problem that actually has a valid solution, the participant receives '-1' for that problem.

This rule exists to prevent random guessing and encourage thoughtful analysis of each task.

If the participant later correctly solves that problem, the score is adjusted back to '0'.

Suppose a participant attempts to cheat by submitting an 'UNDECIDABLE' response to each problem (taking advantage of the permission to submit multiple solutions to the same problem).

To prevent such tactics, attempting to classify a solvable problem as 'UNDECIDABLE' results in a penalty of '-1' for that problem.

For example, if a participant has solved problems A, B, and C at a certain point in time and attempted to solve problem D as 'UNDECIDABLE' (which was solvable), then the number of problems solved by the participant would be 2 (1 + 1 + 1 - 1).

If the participant later correctly solves problem D, the score for problem D will be adjusted to 0 (-1 + 1).

In an exceptional scenario, if a participant solved all 13 problems through guesswork, two of which were unsolvable, and subsequently solved the remaining problems correctly, the total number of problems solved would be 2 (2 + 11 * (-1 + 1)).

What do I need to participate?

  • A computer or laptop
  • A stable internet connection
  • Any programming environment

No additional setup is required.

What are the technical requirements for solutions?

Your program must:

  • read input from standard input (stdin)
  • write output to standard output (stdout)

GUI applications, file input/output, network access, or databases are not allowed.

What programming languages can I use?

You can use many languages, including:

  • C / C++
  • Java
  • C# (Mono)
  • Python
  • Ruby
  • PHP
  • JavaScript
  • Free Pascal

The full list is available in the Programming Languages and Compilers section.

How do I submit a solution?

To submit a solution:

  • Open the problem (A, B, C, …).
  • Read the statement carefully and read the statement carefully.
  • Write your solution and save the file
  • Go to Submit a solution on the Problem Page.
  • Choose the programming language.
  • Upload your code file.
  • Click Send.

What verdicts can I receive?

OK — correct solution
CE — compilation error
RT — runtime error
TL — time limit exceeded
ML — memory limit exceeded
WA — wrong answer
PE — presentation error
CF — check failed
SE — security restriction violation

How are tasks assessed?

The contest uses ICPC/ACPC-style scoring rules. The winner is the participant or team that solves the highest number of problems with the lowest penalty time.

The penalty is the total time used to solve a task, calculated as follows: the total time is the sum of the time consumed for each problem solved. The time consumed for a solved problem is the time elapsed from the beginning of the contest to the submission of the first accepted run, plus 20 penalty minutes for every previously rejected run for that problem. No time is consumed for a problem that is not solved.

How is the penalty calculated?

There are two types of penalties:

  1. A penalty for guessing a problem lacks a solution instead of solving it to confirm. For more details, see the What if a task has no solution section.
  2. A penalty as an integral part of the final score for the solved problem. For more details, see the How are the tasks assessed section.

Can I use Google, ChatGPT, or other tools?

No. The use of AI tools, including ChatGPT and similar services, is prohibited during the contest. Participants must rely only on their own knowledge and problem-solving skills during the contest.

Do I need a camera or screen recording?

No. There is no requirement to record your screen or use a camera.

Can I participate from any country?

Participants located in the Russian Federation or other sanctioned regions are not eligible.

What should I do if I face an issue during the contest?

  • For organizational issues at an offline hub — contact the hub organizers.
  • For technical or task-related questions — use the Clarification button during the contest.

Can I participate online or offline?

The contest itself is held online.

You may choose where to participate:

  • from home
  • from a coworking space or other space
  • from an official offline hub

Why is it worth participating offline?

Offline participation is more engaging: you compete alongside others, discuss solutions after the contest, and often get access to additional activities and small prizes.

What if I registered for an offline hub but changed my mind?

No problem — just inform the hub organizers.

What if I didn’t register for a hub but want to join one?

Contact the hub coordinators. Depending on availability, they may accommodate you.

When does the contest start?

Before the contest, organizers send participants a link to the YouTube livestream. The time mentioned in the announcements is the start time of the broadcast, not the beginning of the 42-minute contest itself. During the livestream, organizers repeat the rules, answer participants’ questions, and officially announce the start of the contest timer. That’s why it’s important to join the livestream on time so you don’t miss the beginning of the contest.

Does the contest start at the same time for everyone?

Yes. The contest starts simultaneously for all participants and lasts 42 minutes.

Can I join later and solve the problems at a different time?

No. The contest starts and ends at the same time for everyone.

If I join late, will I still have 42 minutes?

No. The contest ends 42 minutes after the official start, regardless of when you join.

Can I leave and come back during the contest?

Yes, as long as the contest is still running.

When will the results be published?

Preliminary results are usually published within 2–3 days after the contest.

Participants then have 3 days to submit appeals if needed.

The organizing team may take up to one additional week to review appeals and complete the final verification process.

Official results are usually published within two weeks after the contest.

Will winners be chosen separately for teams and individual participants?

No. Winners are determined within the categories Amateurs, Professionals, and Superheroes, regardless of team or individual participation.

  1. Honorary 1st place (Team or Individual Participant)
  2. Honorary 2nd place (Team or Individual Participant)
  3. Honorary 3rd place (Team or Individual Participant)

Additionally, we have these extra categories:

  • Prize for the very first correct solution to a problem.
  • Prize for the shortest answer to a problem with a solution.
  • Prize for the first correct identification of an undecidable problem.
  • Honorable Mention for the team or participant with the lowest penalty time.

Will there be prizes?

Yes. Winners receive gift cards and DataArt presents.

Prize delivery is arranged individually.

Do all participants receive certificates?

Yes. All participants receive participation certificates after the publication of the official results.

Can I practice before the contest?

Yes. Use the Training section to:

  • solve previous contests
  • understand the problem format
  • improve speed

Why should I participate in the Proggy-Buggy Contest?

The Proggy-Buggy Contest is not just about solving problems — it’s about gaining experience, testing yourself, and having fun.

By participating, you can:

  • Practice problem-solving under time pressure — a valuable real-world skill
  • Try competitive programming without spending hours on a contest
  • Discover your strengths and gaps in algorithms and logic
  • Compare your approach with others after the contest
  • Gain confidence by solving even a few tasks
  • Meet other participants (especially if you join an offline hub)

Unlike many contests, Proggy-Buggy:

  • is short (only 42 minutes)
  • includes unusual and fun problems
  • is beginner-friendly but still challenging for experienced participants

👉 Even if you’re just starting, it’s a great way to try competitive programming in a low-pressure format.

Proggy-Buggy Contest 2026

June 6th 10:00 (UTC)