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 < 10.in > problem1.out

"p1.exe" will be run, but it will read it's input from file "10.in" and write it's output to "problem1.out". If you have downloaded a problem input file "10.in", 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!

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. (contest.bayan.ir)

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.

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 contest.bayan.ir 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 contest.bayan.ir if you haven’t already.

We've created a twitter account to publish Bayan Programming Contest news. Now you can follow us @bayan.

Shortcut! Round Terms & Rules

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.

Penalties

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.

Judging

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.

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.

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.

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!

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:

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.

Eligibility

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.