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

Ready to put your coding skills to the test and have some fun? Join us on May 25th, 2025, for the Proggy-Buggy Towel Contest 2025, a quick, exciting coding challenge hosted by DataArt.

You’ll face 13 algorithmic problems, some simple, some that’ll make you think twice. Pick any programming language, code solo, and take part from anywhere: online or at one of our offline hubs. All you need is a laptop and a stable internet connection.

Whether you’ve been coding for years or are just starting out, it’s a fun way to test your skills, learn something new, and see how far you can go in 42 minutes.

And don’t forget your towel — it might just bring you luck (and it's Towel Day, after all)!

Proggy-Buggy Towel Contest 2025

May 25th, 2025

About the Contest

The Proggy-Buggy Contest is a programming event organized by DataArt. It has been running since 2013, attracting over 10,000 participants from 60 countries — and now it’s your turn! You can join solo and pick a category based on your experience (we’ve got options for beginners and more advanced coders). Whether you're a student, a developer, a tester, or just someone who loves solving algorithm puzzles, you’re welcome here!

You’ll get 13 problems and 42 minutes to solve as many as you can. Pick your favorite programming language and create a console application (check out the full list of languages in the "Programming Languages and Compilers" section). Once you've written your code, send the source text to the verification server for review. If the task is accepted, you can view your result (OK or Failed) in the “Summary” section

And here’s the fun part: One or two problems might not have a solution. But don’t worry! The solution for these problems is simple: just write a program that outputs "UNDECIDABLE" — and that’s your answer!

No experience? No worries! We have problems for training and practice. This is a great chance to jump in, learn, and challenge yourself. Who knows? You might just surprise yourself with what you can do!

How to Participate?

To register for the Contest, follow the link and carefully review the information on the page.

New to the contest? Create a personal account by choosing a unique login, selecting your category, and following all the instructions. Please note: you must confirm your registration within 24 hours. If not, you'll need to start the registration process again.

Already have a Proggy-Buggy account? Awesome! Simply log in.

Forgot your password? You can recover it by clicking the recovery button on the page of any previous contest under the Training Section (top left).

Can't remember your login? In this case, please register again by creating a new account.

The Contest Has Three Types of Participants:

Amateurs

Amateurs

Participants aged 16 and above. May have competed in programming competitions other than international ones, such as university, city, regional, or national-level Olympiads (excluding ACM ICPC International Programming Contests or International School Olympiads in programming at any level).

Professionals

Professionals

Participants in the National Student (ACM ICPC) or School (IOI) Olympiad in programming and other international programming competitions, but not finalists or winners.

Superheroes

Superheroes

Participants who ranked in the top 10 of the National Student Olympiad (ACM ICPC) or School Olympiad (IOI) in programming and past winners of the Proggy-Buggy Contest in all categories.

Proggy-Buggy Towel Contest 2025

May 25th, 2025

Contest Rules

  1. Participation is free. Registration is required.
  2. Before the contest you can take the opportunity to practice by solving tasks from the previous years’ contests. You can find them in the “Training” section on www.proggy-buggy.com
  3. We will start the contest on May 25th, at 10:00 (UTC).
  4. You can participate online from anywhere in the world (except the Russian Federation, as well as other sanctioned territories), or in-person at one of our DataArt R&D Centers or Partner Hubs.
  5. The contest officially will start after the final countdown. We strongly recommend joining us on YouTube so that you don’t miss the start. You will receive a link to it in your e-mail the day before the launch along with a link to the contest page. Be ready to join us on time and ensure you have a stable network connection.
  6. All participants will have 13 problems to solve and 42 minutes for their completion.
  7. Each participant can use only one device from which the solutions will be sent to the server for verification.
  8. During the contest you can’t use online resources like Google or ChatGPT.
  9. You can solve problems one by one or skip some problems and solve them later.
  10. You can send the solution to each problem more than once and use different programming languages during the contest.
  11. Official results will be published 2–3 days after the contest concludes.
  12. The standings will become available after the official announcement of the results, as answers are automatically scored on the dedicated server.
  13. Diplomas for Winners and Certificates for Participants will be sent during a month from the official announcement of the results.
  14. Certificates for Participation will only be sent to participants who scored at least 1 point.
  15. 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.

Programming Languages and Compilers

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

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 Fortran 9.4.0 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]

Winning Categories

The winner is the individual participant who solves the maximum number of tasks with the lowest penalty.

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. These rules are consistent with the International Collegiate Programming Contest (ICPC).

All the winners will be granted the Diplomas and Prizes.


We determine the winners in the following categories:

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

Additionally, we have these extra categories:

  • Prize for the shortest correct answer to a problem with a solution.
  • Prize for the first correct answer to a problem with no solution.
  • Honorable Mention for the participant with the fewest penalty points.

About Proggy-Buggy Contest

The Proggy-Buggy Contest is a strategic initiative by DataArt to foster new talent and address the global tech talent shortage. Designed to equip participants with essential programming and problem-solving skills, the contest prepares them for success in today’s rapidly evolving technology landscape.

The competition, held twice a year, consists of 13 algorithmic problems that participants must solve within a 42-minute time limit. The main protagonists of each problem are two creatures, Proggy and Buggy. Proggy is a highly skilled and creative being who writes programs, while Buggy can sometimes cause delays with errors that Proggy must work through. Navigating these obstacles can be challenging, but with patience and understanding, Proggy always finds a solution.

The Ultimate Question and the Contest’s Inspiration

The concept of a 42-minute time limit is derived from "The Hitchhiker's Guide to the Galaxy," a book by Douglas Adams. In the story, a unique computer named Deep Thought is programmed to answer the "Ultimate Question of Life, the Universe, and Everything" and provide the key to solving all the problems in the universe. After seven million years of continuous calculations, the computer finally revealed the answer: “42”.

But wait, what’s with the towel?

Another concept inspired by the book is the name of our Spring competition. It's called the Towel Contest and is held on Towel Day, celebrated worldwide every year on May 25th. It’s a nod to The Hitchhiker’s Guide to the Galaxy, where a towel is the most massively useful thing an interstellar hitchhiker can have. For this contest, it’s your symbol of courage, wisdom, and readiness to face algorithmic chaos. Plus, it makes a great debugging companion.

It has become a tradition for participants to come to the May competitions with towels. A towel is the most helpful thing an interstellar hitchhiker can have because, as Douglas Adams writes, "Any man who can hitch the length and breadth of the Galaxy, rough it, slum it, struggle against terrible odds, win through and still know where his towel is, is clearly a man to be reckoned with."

So, what do you say? Are you ready to test your skills, learn, and have some fun? 😊

Frequently Asked Questions

What are the requirements for contest participants?

Having a sense of humor. But seriously, a passion for programming is a must. Contest participants must know how programs are written, what a "console application" is, and be familiar with standard input/output streams.

Can I participate alone if I don't have a team?

Sure. Anyone can participate alone or in a team. In the Autumn contest, solo participants and teams of up to three people can participate. The Spring Contest is for solo participants only. When registering, you choose the type that suits you: 'Individual' or 'Team'.

How many people can be on a team?

At most, three people.

Do individual participants and teams have different tasks?

Individual participants and teams are provided with the same tasks.

Should a team be from the same city/country?

No, that’s not necessary. If a team cannot gather in one room, they are permitted to use messengers such as Viber, WhatsApp, Telegram, Skype, etc., for communication between participants. Additionally, the team can use only one device from which the solutions will be sent to the server for verification.

Do I need to know English to participate?

Yes. Since the Proggy-Buggy Contest is international, the problems are in English. Therefore, a minimum level of reading skills in English technical texts is required.

How do I obtain my login and password for participation?

To participate in the competition, you must register by entering your email address. Registration opens approximately one month before the start of the competition. One day before the contest, all registered participants will receive two links: one to the contest page, which will become active at the start of the competition, and another to the live stream, where the official start of the competition will be announced.

How many computers can the team use?

The team can use only one device from which the solutions will be sent to the server for verification.

Can I participate online if I registered to participate offline but can't come?

Certainly, you can participate online.

Can I use online resources like Google or ChatGPT?

No, it is not allowed.

What else do I need to participate?

You will only need a notebook and a stable network connection. If a team cannot gather in one room, participants can use instant messengers (such as Viber, WhatsApp, Telegram, Skype, etc.) solely for communication.

What programming languages can I use when solving problems?

You can use C, C++, Free Pascal, Java, Mono C#, Python, Ruby, PHP, JavaScript, etc. The list of Compilers can be found in the Programming Languages and Compilers section.

What if I can’t solve all the problems in 42 minutes?

It's not necessary to solve all the problems, although it is desirable. All problems the participants solve will be counted at the end of the contest. After 42 minutes, access to tasks will be automatically closed.

Is it possible to solve problems in a different order or revisit previous solutions and correct them?

Yes, you can solve problems in any order you prefer. Additionally, you can submit solutions to the same problem multiple times (up to 60), with only the best solution being counted, not the last one.

How are the tasks assessed?

The tasks are assessed according to the ACM ICPC rules. The winner is the individual participant or team that solves the maximum number of tasks with the lowest penalty.

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.

What if a task has no solution?

The solution to this problem is the participant's program, which should display the following text on the console: "UNDECIDABLE."

An example of such a program in JavaScript:

JavaScript
console.log("UNDECIDABLE");

A solution to an UNDECIDABLE problem is evaluated in the same way as a solution to any other problem (whether correct or incorrect).

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)).

Is there a system of penalties?

Yes. There are two types of fines:

  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.

When will the results be available?

Official results will be published within 2-3 days after the contest concludes.

Will the winners be chosen separately for teams and individual participants?

No. Winners will be determined in the categories: Amateurs, Professionals, Superheroes:

  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 answer to a problem with no solution.
  • Honorable Mention for the team or participant with the most penalty points.
  • Honorable Mention for the team or participant with the fewest penalty points.

Will there be prizes?

Yes, there will be prizes! The winners will receive Amazon gift cards and presents from DataArt. All prizes will be delivered to the winners by mutual agreement.

Do all participants receive certificates of participation in the contest?

Yes, everyone who participated will receive a certificate.

Is it possible to practice the tasks?

Yes, practice mode is available on the Training. You can attempt tasks from the previous years’ contests. Use your existing registration or create a new account. To do so, follow the link to one of last year's contests. Here's a short video instruction on creating an account.

Why are participants residing in the Russian Federation not allowed to participate?

According to the official statement, DataArt no longer operates (including hiring and marketing activities), has offices, or clients in Russia. Therefore, participants residing in the Russian Federation are not allowed to participate in the Proggy-Buggy Contest.

Proggy-Buggy Towel Contest 2025

May 25th, 2025