By Harbour.Space, 23 hours ago, translation, In English,

Hello, Codeforces!

We are pleased to announce the 1st "Hello Muscat!" Pre — Finals ICPC Programming Bootcamp, organised by Harbour.Space University with Moscow Workshops ICPC in collaboration with Moscow Institute of Physics and Technology, ITMO University, Saint Petersburg State University, GUTech University, and of course Codeforces! The Bootcamp's Gold Sponsor is Phaze Ventures, a venture capital firm and innovation platform based in Oman.

We are inviting all of you to join us during 9 — 15 March, 2019 in Muscat, the capital of Oman, for an intense 7 days of programming! As always, we can't wait to see all of you learn, practice and compete on the international stage, smoothing your road towards the April World Finals in Porto.

How it works: "Hello Muscat!" Programming Bootcamp will run in parallel with the traditional Moscow pre-Finals ICPC Workshop — both Bootcamps' contests will be identical, and contestants will be able to see their position in the General Leaderboard. Every day, both camps will be competing simultaneously, 5,500 kilometers from each other!


Michael [user:Endragorion] Tikhomirov will be the Head of Programming Committee for both Muscat and Moscow. The Chief Judge of both camps will be Oleg snarknews Khristenko, and the General Coordinator is Alexey Maleev, the founder of Moscow Workshops ICPC.

All participants will have the opportunity to work under some of the most recognized coaches in the industry: Mike MikeMirzayanov Mirzayanov, Andrew andrewzta Stankevich, Michael Endagorion Tikhomirov, Gleb GlebsHP Evstropov, Artem VArtem Vasilyev, Ivan ifsmirnov Smirnov, Ilya izban Zban, and other world renowned Russian coaches. It will be an important opportunity for teams from all over the world to learn from these well-known and successful coaches in the ICPC world.

You can leave your contact details or register here — you'll be contacted upon registration.

GUtech Campus in Muscat, Oman

The campus is a first-of-its-kind project, and establishes Omani architecture at an international level.

The boot camp in Oman will be available to teams of different skill levels – separated by two divisions of difficulty:

  • Division A. Designed to prepare students to excel and win medals in the next ICPC World Finals.
  • Division B. Designed to help teams prepare for the next season of ICPC Regionals and international competitions. This is an appropriate introduction for teams and students without extensive experience in the world of ICPC and competitive programming competitions in general. The Division B curriculum features thematic lectures and contests.

The participation fee is unchanged: €1270 per person (cultural programme, accommodation and half-board meals included). Single participants and teams must register before 15 December to receive the 15% off Early Bird Discount, or the 20% off Loyalty Discount, which is awarded to teams that participated in previous Hello Programming Bootcamps or Moscow Workshops ICPC Bootcamps.

The final registration deadline is February 25, 2019.


You can ask any questions by email:

Harbour.Space University and Moscow Workshops ICPC collective efforts have resulted in a series of successful programming Hello Bootcamps, which continue to expand across the globe. In order to experience the atmosphere of the events, we suggest you familiarise yourself with the photos and videos from the previous Hello Programming Bootcamps.

Here's a quick recap of the latest 3rd Hello Barcelona ICPC Programming Bootcamp.

Read more »

  • Vote: I like it  
  • +30
  • Vote: I do not like it  

By KAN, 2 days ago, translation, In English,

Hi all!

This weekend, at Nov/18/2018 19:05 (Moscow time) we will hold Codeforces Round 522. It is based on problems of Technocup 2019 Elimination Round 3 that will be held at the same time.

Technocup is a major olympiad for Russian-speaking high-school students, so if you fall into this category, please register at Technocup 2019 website and take part in the Elimination Round.

Div. 1 and Div.2 editions are open and rated for everyone. Register and enjoy the contests!

The round was prepared by Alexander Golovanov399 Golovanov, Evgeny white2302 Belyh, Alexandra demon1999 Drozdova, Arsenii senek_k Kirillov, Ivan ifsmirnov Smirnov, Artem komendart Komendantian, Roman Ajosteen Glazov, Daria Dashk0 Kolodzey and me.

Huge thanks to Grigoty gritukan Reznikov, Ildar 300iq Gainullin, Ilia irkstepanov Stepanov, Andrey AndreySergunin Sergunin for testing.

Have fun!

The round is over, we apologize for the issues with platform accessibility. The round is declared unrated.

Congratulations to the winners!

Technocup 2019 - Elimination Round 3

  1. Batrr
  2. Kuyan
  3. paradox
  5. YaDon4ick

Codeforces Round #522 (Div. 1, based on Technocup 2019 Elimination Round 3)

  1. ksun48
  2. FCB1234
  3. LHiC
  4. Um_nik
  5. mnbvmar

Codeforces Round #522 (Div. 2, based on Technocup 2019 Elimination Round 3)

  1. liriKl
  2. Moysenko
  3. mikeweat
  4. fauzdar65
  5. Bismarck

Thank you all for joining!

Read more »

  • Vote: I like it  
  • -265
  • Vote: I do not like it  

By MikeMirzayanov, 22 hours ago, In English,

Hi, Codeforces!

I am glad to announce and invite you to the second launch of my course on algorithms and data structures.

On 7-25 of January, 2019, I will be giving the course "Advanced Algorithms and Data Structures" at Harbour.Space University (Barcelona, Spain). It will be in English, and is not limited to Harbour.Space students — anyone is welcome! Who wants to join?

This course isn't just for Harbour.Space students, it is also open to Codeforces participants, who will be offered a special price, 1000 EUR. The cost does not include travel or accommodation.

Register for the Course →

The curriculum will include a breakdown of algorithms and data structures, a lot of practical exercises, and emphasis not only on the correctness, but also the beauty and structure of the code. My goal is to make classes that are useful and interesting for both those who want to understand the fundamental CS, and for those interested in programming competitions. And of course, we will have the opportunity to meet and talk. I look forward to share stories about the history of Codeforces and future development plans.

The course will consist of three weeks of intensive training, 5 days in each week, 3 hours per day. The program includes daily lectures and practical exercises. It will not be boring for sure!

Here is the expected course outline:

Week Day Topics
1 1 Heap data structure, heap properties and operations. HeapSort. Priority queue. Other heap applications. Mergeable heaps: binomial heap, pairing heap, randomised meldable heap.
1 2 Fenwick tree. Description and motivation. Implementation of Fenwick tree. Generalisation for higher dimensions. Skip list data structure. Implementation details. Indexable skiplist.
1 3 Segment trees. Top-down implementation. Bottom-up implementation. Segment trees applications. Persistent data structures. Persistent stack, persistent array. Persistent Fenwick and segment trees.
1 4 Cartesian trees, treap data structure. Merge and split operations. Treap implementation in detail. Treap applications.
1 5 Treaps with implicit keys. Ropes. Segment reverse operation. Examples of problems.
2 6 Introduction to strings. String searching (matching) problem. Pattern pre processings. Z-function, prefix-function. Their applications. Knuth–Morris–Pratt algorithm. Matching finite state machine.
2 7 Multiple pattern matching. Trie data structure. Aho-Corasick algorithm. Implementation details. Dynamic programming on a trie.
2 8 String hashing. Rabin-Karp algorithm. Fast substrings comparison with hashes. Suffix array. LCP array. Efficient construction algorithm. Applications.
2 9 Suffix tree. Ukkonen's algorithm. Suffix tree construction from LCP array. Suffix tree applications.
2 10 Suffix automaton. Size bounds. Linear Algorithm. Using suffix automata as an index for approximate string searches.
3 11 Introduction to automata theory. Formal languages. Context-free languages. Formal grammars. Context-free grammars. NFA, DFA, convert NFA to DFA. Build automaton by regular expression.
3 12 LL(1) parser. Arithmetic expressions parsing. Shunting-yard algorithm. Simplified Pascal language parsing and interpretation.
3 13 Algorithms for traversing a graph. DFS. Properties. DFS search tree. Edges classification. Linear bridge-finding algorithm. Linear articulation points finding algorithm. Strongly connected components. Tarjan's strongly connected components algorithm.
3 14 Tree problems. Bottom-up approach. LCA problem. LCA algorithms.
3 15 Bipartite graphs. König’s criterion. Problems: maximum matching, minimum edge cover, maximum independent vertex set, minimum vertex cover. Connection of the problems. Berge's lemma. Kuhn algorithm. Kuhn algorithm properties. Minimal vertex cover by maximum matching. Cover DAG by minimal number of paths.

Harbor.Space University is located in Barcelona (Spain). For users of Codeforces, Harbour.Space is known for active participation in the life of the community of sports programming (partnership with Codeforces in the framework of Educational Rounds). The main activity of the university is teaching (there are bachelor's and master's programs) in the following areas:

  • Maths as a Second Language
  • Computer Science
  • Data Science
  • Cyber Security
  • Interaction Design
  • Digital Marketing
  • High Tech Entrepreneurship
  • FinTech
  • BioTech
  • Aerospace Engineering
  • SuperCities UrbanTech

Harbour.Space is also proud to announce the Scholarships to study Msc in Robotics in Barcelona. Follow this link for more information about the opportunity and application process.

Register for my upcoming course via this link.


Read more »

  • Vote: I like it  
  • +42
  • Vote: I do not like it  

By Vovuh, history, 4 days ago, translation, In English,

I am so sorry about very long gaps between the contests but I really don't have enough time to prepare the problems. So...



Codeforces Round #521 (Div. 3) will start at Nov/16/2018 17:35 (Moscow time). You will be offered 6 or 7 problems with expected difficulties to compose an interesting competition for participants with ratings up to 1600. Probably, participants from the first division will not be at all interested by this problems. And for 1600-1899 the problems will be too easy. However, all of you who wish to take part and have rating 1600 or higher, can register for the round unofficially.

The round will be hosted by rules of educational rounds (extended ACM-ICPC). Thus, during the round, solutions will be judged on preliminary tests, and after the round it will be a 12-hour phase of open hacks. I tried to make strong tests — just like you will be upset if many solutions fail after the contest is over.

You will be given 6 or 7 problems and 2 hours to solve them.

Note that the penalty for the wrong submission in this round (and the following Div. 3 rounds) is 10 minutes.

Remember that only the trusted participants of the third division will be included in the official standings table. As it is written by link, this is a compulsory measure for combating unsporting behavior. To qualify as a trusted participants of the third division, you must:

  • take part in at least two rated rounds (and solve at least one problem in each of them),
  • do not have a point of 1900 or higher in the rating.

Regardless of whether you are a trusted participant of the third division or not, if your rating is less than 1600, then the round will be rated for you.

Thanks to MikeMirzayanov for the platform, help with ideas for problems and for coordination of my work. Thanks to my good friends Mikhail PikMike Piklyaev, Maksim Ne0n25 Mescheryakov and Ivan BledDest Androsov for help in round preparation and testing the round.

Good luck!

I also would like to say that participants who will submit wrong solutions on purpose and hack them afterwards (example) will not be shown in the hacking leaders table.



Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 diolG 7 173
2 lyzqs 7 228
3 pvviet001 7 241
3 LVL 7 241
5 lukameladze1 7 250

Congratulations to the best hackers:

Rank Competitor Hack Count
1 PikMike 153:-6
2 ______-__________-______ 186:-85
3 knowbody 128:-6
4 Laggay 113:-6
5 Marcosk 66:-6

1359 successful hacks and 755 unsuccessful hacks were made in total!

And finally people who were the first to solve each problem:

Problem Competitor Penalty
A Laggay 0:01
B Laggay 0:03
C Programmist_111 0:05
D Laggay 0:12
E Programmist_111 0:12
F1 happ1 0:29
F2 Radko 0:32

UPD2: Editorial is published!

Read more »

  • Vote: I like it  
  • +138
  • Vote: I do not like it  

By JATC, history, 7 days ago, In English,

Hi everyone. I'm glad to announce that the Codeforces Round #520 (Div. 2) will be held on Nov/14/2018 18:35 (Moscow time).

The round will be rated for Div 2 participants (whose ratings are lower than 2100). However, all the other participants can compete as well, without worrying about ratings being changed.

You will be given 2 hours to solve 6 problems. It's better to read all the problems. The scoring distribution will be announced soon before the contest starts.

All the problems were prepared by myself, with some help from my friend GiraffeCoder. I want to thank _kun_ for coordinating me in preparing the problems, gritukan, isaf27, demon1999 and Arpa for testing my solutions. I also want to thank csacademy for their graph editor tool. You can check it out at this link.

This is the first round I propose. I put a lot of work into it so I hope that you will enjoy it (smiley face).

Wish you do your best and get a high rating!

Update 1: If you want to discuss about the problems after the contest, here is the link to the CP Community on Discord. Please make sure that you don't give the solutions to other participants during the contest.

Update 2: The score distribution will be the standard one: 500 1000 1500 2000 2500 3000.

Update 3: Congrats to the winner

Official participants:

  1. I_Love_Kirino

  2. Dark_Warlock

  3. wcysai

  4. coriander

  5. fcwwww

Unofficial participants:

  1. BudAlNik

  2. HIR180

  3. KrK

  4. ayaze

  5. FCB1234

Tutorial UPDATED

Read more »

  • Vote: I like it  
  • +287
  • Vote: I do not like it  

By PikMike, history, 8 days ago, translation, In English,

On Nov/12/2018 17:35 (Moscow time) Educational Codeforces Round 54 (Rated for Div. 2) will start.

Series of Educational Rounds continue being held as Harbour.Space University initiative! You can read the details about the cooperation between Harbour.Space University and Codeforces in the blog post.

This round will be rated for the participants with rating lower than 2100. It will be held on extented ACM ICPC rules. The penalty for each incorrect submission until the submission with a full solution is 10 minutes. After the end of the contest you will have 12 hours to hack any solution you want. You will have access to copy any solution and test it locally.

You will be given 7 problems and 2 hours to solve them.

The problems were invented and prepared by Roman Ajosteen Glazov, Adilbek adedalic Dalabaev, Vladimir Vovuh Petrov, Ivan BledDest Androsov and me.

Good luck to all participants!

UPD: There certainly will be a discussion of the problems on the local Discord server shortly after the contest ends. I might join it as well)

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 FCB1234 7 266
2 HIR180 6 129
3 mrscherry 6 152
4 Vergara 6 158
5 Jeel_Vaishnav 6 185

Congratulations to the best hackers:

Rank Competitor Hack Count
1 teapotd 100:-4
2 vlad.raw 52:-5
3 Marcosk 32
4 tataky 28:-5
5 knotValid 23
721 successful hacks and 668 unsuccessful hacks were made in total!

And finally people who were the first to solve each problem:

Problem Competitor Penalty
A Dalgerok 0:01
B Nasic_number_one 0:03
C neal 0:03
E shadowatyy 0:13
F killer_god 0:34
G HIT_Jerry 1:03

UPD2: There was an error in problem D which caused some incorrect solutions to get accepted. We will investigate the number of users who were affected by this issue and decide whether the round is rated.

UPD3: We discussed the issue and came up with the following decision:

Those who got accepted earlier and get WA now won't be affected by rating changes. For everyone else (for those who got correct verdict) the contest will be rated.

UPD4: Editorial is out

Read more »

  • Vote: I like it  
  • +107
  • Vote: I do not like it  

By Kuyan, 10 days ago, translation, In English,

Hi all!

I'm happy to invite everyone to a combined for Div.1 and Div.2 Mail.Ru Cup 2018 Round 2, that is starting at this time: Nov/10/2018 17:35 (Moscow time). The problems were prepared by Kuyan and Jacob. Thanks to _kun_ and 300iq for coordination and help in preparation.

Also huge thanks to majk, lewin, gritukan, demon1999 for testing, and also to MikeMirzayanov for Codeforces and Polygon platforms.

This round is the second round in the new championship called Mail.Ru Cup, you can learn more about it following the link. The round will be rated for everybody!

The championship feature the following prizes:

  • First place — Apple MacBook Air
  • Second and third place — Apple iPad
  • Fourth, fifth, sixth places — Samsung Gear S3
  • Traditionally, the top 100 championship participants will get cool T-shirts!

In each round, top 100 participants get prize points according to the table. The championship's result of a participant is the sum of the two largest results he gets on the three rounds.

There will be 7 problems for two and a half hours. The scoring will be available later.

I hope you will like the problems and wish you a rating increase!

UPD1: Scoring distribution:

500 1000 1500 2250 2750 3500 4000

The round is over, congratulations to the winners!

  1. aid
  2. LHiC
  3. V--o_o--V
  4. mnbvmar
  5. tourist

The current results of Mail.Ru Cup (summing up the two rounds) are published.

The analysis is also published.

Read more »

Announcement of Mail.Ru Cup 2018 Round 2
  • Vote: I like it  
  • +175
  • Vote: I do not like it  

By skywalkert, 11 days ago, In English,

Hello, Codeforces!

We intend to share some ACM-ICPC regional contests with you! Here is one of them.

An online-mirror contest of 2018-2019 ACM-ICPC, Asia Nanjing Regional Contest will start on Nov/17/2018 13:00 (Moscow time). You may register for this contest 6 hours before it starts, but it is temporarily inaccessible before registration starts.

By the way, this contest will consist of 13 problems and you can solve them within 5 hours.

Wish you will learn great experience through that time!


There is another online-mirror contest, The 2018 ACM-ICPC Asia Qingdao Regional Contest (Mirror), which will be held at on Saturday, November 10, 2018 at 12:00 (UTC+8), a week before the contest on Gym!

This contest is prepared by our friends from Zhejiang University and indeed a very interesting contest. If you are eager to participate, please do not hesitate to register a handle on it and take part in time!

P.S. Please do not discuss any solution before contests are finished. Thanks for your cooperation.

UPD1: Ranking that suits for Gym has been parsed from data provided by the host school (Nanjing University of Aeronautics and Astronautics). Enjoy it.

UPD2: Registration starts. You may view this page to register.

UPD3: In order to be consistent with the onsite one, the duration is extended by 10 minutes.

Read more »

  • Vote: I like it  
  • +265
  • Vote: I do not like it  

By MikeMirzayanov, 12 days ago, translation, In English,

Hi Codeforces.

I am glad to share a small but useful update of Polygon, which was fully developed by me in the walls of ITMO. Now preparing problems with unusual I/O will become a little easier.

Now in the new problems you will get examples in the statements without any transformations by LaTeX/HTML. If earlier you had difficulties with the correct formatting of empty lines or the fact that a double hyphen is replaced with a dash, now there are no such difficulties. The enhancement works for both PDF and HTML statements.

For example, to have such I/O examples just add such a test and use the appropriate output from the model solution.

Note that the feature to overwrite the examples is stayed working (custom content of input or output data for statements). It seems that there are almost no reasons to use it for an input now (apparently, only for interactive problems).

Previously created problems use the old approach, so this innovation should not break existing problems.

How do you like the feature?

Read more »

  • Vote: I like it  
  • +230
  • Vote: I do not like it