Bayan Programming Contest

Bayan Programming Contest

  • Final round of 3rd Bayan Programming Contest will be held on Friday, May 1st 2015. The setup time starts at 7:00am IRST, and the round begins at 8:00am IRST.

  • Awards and certificates of previous rounds' winners will be shipped after the onsite event.

  • Contestants will be using their own laptops during the competition. We will also provide a monitor, a keyboard and a mouse for each participant.

  • We will be reaching out to finalists about their flight and accommodation details through email.

  • We've done our best in preparing the software and hardware infrastructure, and assuring the quality of the problemset, so we hope everyone would enjoy the event!

  • We'll release the problemset publicly after the closing ceremony.

  • 19 March 15 ، 20:00

High ranked countries in top 50

Friday, 24 October 2014، 10:46 PM

High ranked countries in Bayan Programming Contest 2014-2015.
Based on number of competitors in the top 50.

  • 24 October 14 ، 22:46

High ranked countries in top 100

Friday, 24 October 2014، 10:44 PM

High ranked countries in Bayan Programming Contest 2014-2015.
Based on number of competitors in the top 100.

  • 24 October 14 ، 22:44

  • 24 October 14 ، 19:50

T-shirt Winners of Bayan Programming Contest 2014-2015

Friday, 24 October 2014، 07:39 PM
  • 24 October 14 ، 19:39

Score Calculation Method For Elimination Round

Sunday, 19 October 2014، 02:36 PM
Score for each solved problem is calculated based on these values

    n = No. of accepted submissions
    t = Contestant's submission time
    p = Number of contestant's wrong attempts

  • 19 October 14 ، 14:36

Stats: Primary Rounds of Bayan Programming Contest

Saturday, 18 October 2014، 11:28 AM

10266 contestants from 103 countries participated in primary rounds of Bayan Programming Contest 2014-2015.

  • 18 October 14 ، 11:28

How to Solve and Submit a Solution

Friday, 10 October 2014، 02:54 AM

Submitting a Solution

Bayan Programming Contest follows an output-only style. When you have written and tested your code, you can request an input by clicking on the "Submit" area of the problem description page. A file with ".in" extension will be downloaded to your computer. You should then produce the corresponding output and save it to another file (It's a good practice to have this filed named "problem_name.out").

When you have an output file, you can submit it in the contest platform. The contest judge will analyze your submitted output and mark it as accepted or rejected.

Note that you have just a few minutes to run you program and submit an output after you have downloaded an input file. If you fail to submit an output in time, a rejected submit will be counted for you.

Also be careful that each time you request an input, a different one will be given to you. So if your submission has been rejected, you should request a new input file.

Working with input/output files

Usually, a program you have written, reads it's input from standard input and writes it's output to standard output. Traditionally, standard input means keyboard and standard output means your console output on the display. But one can redirect standard input, so that the program reads it's input from a file instead of the keyboard. Standard output can also be redirected, so that program's standard output will be written to another file. In both Linux, Mac OS and Windows Console, you can redirect input and output using pipes and redirectors.

For example, if you have compiled your code to "p1.exe" in windows, by running the following command:
p1.exe < > problem1.out
"p1.exe" will be run, but it will read it's input from file "" and write it's output to "problem1.out". If you have downloaded a problem input file "", submitting your solution will be as easy as compiling your code, running such a commands and uploading the output file along with you code on the contest problem page!
  • 10 October 14 ، 02:54

Qualification round will be held as our first official and required round of Bayan Programming Contest 2014-2015. It will begin on October 9th, 06:00 (UTC) for a 72-hour period, and solving only one problem is enough to advance you to the elimination round. This round is going to be an easy event with 3 very easy problems and 5 random participants will be receiving t-shirts.

Whether you are testing your luck for a random tshirt or are aiming for one of 100 tshirts of elimination round, or even if you are already planning for your trip to Tehran, you should not miss the qualification round. (

Please do make sure that you have fully read the main contest announcement. Lots of your questions has been already answered there.

To join the stream you can follow contest's updates @bayan and you can follow the images on our Instagram page.

  • 09 October 14 ، 11:40

Bayan Programming Contest warm up round 2014-2015

Thursday, 2 October 2014، 09:51 PM
  • Bayan warm-up round will be held on Sunday, October 5th 2014, 13:00 (UTC) and as indicated before, it will be held on Codeforces. Warm-up round is not a required round but top 50 are going to win t-shirts and it is going to be rated for both divisions.
  • We have tried our best to make the problem-set interesting and competitive and we hope you enjoy it.
  • It is necessary to have a complete profile on before the warm-up round! And please do make sure you have selected the correct t-shirt size!
  • We have upgraded our contest platform, and we've made sure everything is stable, tuned and robust now. Thanks to all those who helped us test the unstable version!
  • The unofficial Shortcut! Round is now accessible to all, so you can check the standings and the problems.
  • Qualification round which is the first official and required round of Bayan Programming Contest 2014-2015 will begin on October 19th so don’t forget to register right now at if you haven’t already.
  • We've created a twitter account to publish Bayan Programming Contest news. Now you can follow us @bayan.
  • 02 October 14 ، 21:51

Shortcut! Round Terms & Rules

Friday, 29 August 2014، 05:51 AM

Shortcut! Round Terms & Rules

  • Shortcut! round will start at 13:00 UTC, 29 August 2014.
  • Shortcut! round consists of three programming tasks and competitors will have just one hour to solve them.

Solving Problems

  • Competitors may solve problems by any means and are free to use any programming language, library or computational application to solve problems. Given an input file, you should submit a correct output together with the source code used to produce that output within the specified time limit.
  • Not submitting any file during the time limit, will be considered as an unsuccessful attempt.
  • Both input and output formats are crucial. Adhere them precisely to avoid getting solutions judged as wrong.


  • Competitors may not use more than one user account.
  • Competitors may not communicate with each other during the contest.
  • Your output must be reproducible using the source code you provided.
  • All submitted source codes will automatically get analyzed for code plagiarism detection.
  • Cheaters will be banned forever from Bayan programming contests.


  • Do not submit irrelevant clarifications during the contest.
  • The decision of the judges are final in all matters.
  • All source codes of the competitors will be published after each round.
  • Bayan's staffs are not allowed to participate in the contest.

Score Calculation Method

      Score for each solved problem is calculated based on these values:
  • n = No. of accepted submissions
  • t = Contestant's submission time
  • T = Total contest duration
  • p = Number of contestant's wrong attempts
  • 29 August 14 ، 05:51

Bayan Programming contest 2014 - 2015

Monday, 25 August 2014، 05:21 PM

Bayan Programming Contest is about to begin!

For more information visit the official contest website:

  • 25 August 14 ، 17:21

Video Clip of the Contest

Thursday, 29 August 2013، 07:01 PM

Bayan programming contest video clip

PressTV report about the contest
  • 29 August 13 ، 19:01

Final ranking

Sunday, 17 February 2013، 01:00 PM

The final ranking of Bayan Programming Contest:

1. Peter Shih

2. Mikhail Kever

3. Egor Kulikov

4. Zejun Wu

5. Dmitry Egorov

6. Soheil Ehsani

7. Ali Fiouj Nomali

8. Veselin Georgiev

9. Seyed Hamed Valizadeh

10. Hamed Saleh

11. Ali Babaei Cheshmeh Ahmadrezaei

12. Mohammad Reza Maleki

13. Kelvin Yang

14. Majid Farhadi

15. Ali Reza Farhadi

16. Pouya Zafar 

17. Yiming Li

18. Mohammad Reza Sabouri Karkhaneh

19. Saeid Ilchi

20. Keivan Alizadeh

The Scoreboard:

  • 17 February 13 ، 13:00

Contest schedule

Friday, 8 February 2013، 07:07 PM
Date Time Title
Friday 10:00 - 18:00 Registration
Saturday 8:00 - 9:30 Setup Time
Saturday 10:00 - 13:00 Main Contest
Saturday 13:00 - 14:30 Lunch Time
Saturday 15:00 - 17:00 Funkoders Challenge
Saturday 17:00 - 18:30 Tea Party
Saturday 19:00 - 21:00 Closing Ceremony
Saturday 21:00 - 23:00 Dinner Party
  • The event will be held in Parsian Azadi Hotel of Tehran.
  • Registration will be done in the hotel's lobby, and is mandatory for all participants.
  • 08 February 13 ، 19:07

Final round, main contest rules

Thursday, 7 February 2013، 05:20 PM
  • Each competitor must bring a laptop to participate in contest using it.
  • Competitors will have 3-4 hours to complete 5-8 programming tasks.
  • Competitors may solve problems by any means, which is, given an input file, they should submit a correct output in the specified time limit. Not submitting any file in the time limit will be considered as an unsuccessful attempt.
  • Both input and output format are crucial. Adhere them precisely to avoid getting solutions judged as wrong.
  • Competitors will be free to use any programming language, library or computational application to solve problems.
  • Competitors may bring and use any pre-written code, document, etc.
  • For some tasks, competitors should be able to run binary files on their laptops. In such cases, the binary file will be built statically and available for Windows and Linux in both 32-bit and 64-bit architectures.
  • All problem statements will be available in English, although for Iranian’s convenience a Persian translation may be provided. Note that the English statements will be the judge’s reference in case of any difference.
  • The decision of the head judge is final in all matters.
  • 07 February 13 ، 17:20

T-shirt winners!

Sunday, 2 December 2012، 02:14 AM

So you were in the top 100 of Bayan 2012/13 elimination round? Congratulations! We're just about to start shipping the T-shirts. Unfortunately, some of the users had not provided the required information in their profile. If you are one of them, please send your detailed contact information and T-shirt size to contest (at) bayan (dot) co (dot) ir in the next 48 hours.

Have a nice time!

  • 02 December 12 ، 02:14

Elimination round is over!

Sunday, 4 November 2012، 10:43 PM

Thank you all for participating in the elimination round of Bayan Contest. The final results are available. We had more than three thousand registered users for the contest on Codeforces and one third of them were able to solve at least one problem. In the meantime 1100 Iranian contestants participated in our local contest and half of them solved a problem.

We tried hard to prepare a challenging-yet-fun problemset.
The problem "241G - Challenging Balloons" was inspired from a real story! The problem described in the story was used in CEOI 2011 (Task Balloons), and the provided algorithm was the author's solution during that contest — which got the full mark indeed.
According to statistics, "241D - Numbers" was the hardest problem. A tricky approach to the solution is to ignore large inputs and solve the problem for small values of n. You may observe that it is possible to find the demanded subset within a small part of input. During the contest, no one solved all the problems but there was at least one successful attempt for each of them.
We hope you enjoyed it all!

As stated before, Top 100 contestants will be receiving T-shirts. So, update your contact information and T-Shirt size in your Codeforces profile. We'll start sending the prizes as soon as possible.

And the winners...
The winners will receive invitation letters — to the on-site event — soon. If you are one of them make sure your contact information is up-to-date.

Congratulations to all the participants, specially the winners. See you in Tehran!

Good Luck

  • 04 November 12 ، 22:43

Elimination Round

Thursday, 1 November 2012، 02:04 AM

Hi everybody!

Time for Bayan Programming Contest 2012/13 — Elimination Round.

The problemset has been prepared by Bayan employees. We've tried our best to make it interesting, competitive and a little-bit different! We'd like to thank Mike Mirzayanov (MikeMirzayanov) and Gerald Agapov (Gerald) who helped us during problemset arrangement process.

The contest is individual and will be held with ACM-ICPC rules. It will be having English statements only. Also, it will be rated for Div-1 contestants, but we expect Div-2 participants to enjoy it as well.

This round will be a 3hr round with 7 problems to solve. Just like most of ACM-ICPC contests, problems are not supposed to be sorted in order of difficulty. Also, the registration will be open until the end of contest, so be sure to double-check the timing.

Top 20 participants will be invited to the onsite event — Tehran, and Top 100 will be receiving T-Shirts.

Just to emphasize some rules, avoid participating with more than one usernames. Also, you should not collaborate or contact anyone about the problems.

Good Luck!

UPD: The contest is over. Congratulations to all the winners, specially:

  1. tourist
  2. cerealguy
  3. rng_58
  4. peter50216
  5. Egor
  6. kuniavski

Because of unusual calculation of rating for this contest. The rating will be updated with delay.

  • 01 November 12 ، 02:04


Thursday, 11 October 2012، 03:06 PM

  1. 1st prize: Gold Medal + 3 Gold Coins (24 gr total) + $1000 Iranian Handicrafts
  2. 2nd prize: Silver Medal + 2 Gold Coins (16 gr total) + $1000 Iranian Handicrafts
  3. 3rd prize: Bronze Medal + Gold Coin (8 gr) + $1000 Iranian Handicrafts
  4. Top 100 contestants will be receiving T-shirts
  • 11 October 12 ، 15:06


Thursday, 11 October 2012، 10:20 AM
  • Overall workflow of advancing to the onsite event is illustrated below:
  • We will be having lots of interesting side-activies. Detailed schedule will be announced soon. Stay tuned!
  • 11 October 12 ، 10:20

About Contest

Thursday, 11 October 2012، 09:10 AM


Bayan Inc. is a software development company working on large-scale web applications. Currently working on a Search Engine, we face serious algorithmic challenges every now and then, and we try to provide solutions using state-of-art techniques, including Machine Learning, Natural Language Processing, etc. Salam, being one of its subprojects, is a Meta Search Engine focusing on retrieving relevant results for Persian queries.

We also hold an annual programming event in which talented programmers compete. Problems of the contest are prepared by Bayan employees who have experience of IOI and ACM/ICPC. The previous contest had a wide range of audiences. About 2000 contestants participated in the last year's opening contest.

This year, we have planned to invite participants from other countries as well. The elimination round will be held on Codeforces with ACM/ICPC rules. Top participants are invited to attend the on-site event in Tehran.


  • No age restriction is proposed for the elimination round. However, only participants older than 16 are eligible to take part in the onsite event.
  • No Bayan employee nor their families may take part in the contest.
  • Iranian contestants will advance to the final event in a different process, and thus they are NOT allowed to participate in the Codeforces round.
  • 11 October 12 ، 09:10