MikeMirzayanov's blog

By MikeMirzayanov, 3 years ago, In English

Hello Codeforces!

I am in the process of making improvements and updates to the judgment machines. I've read the post https://mirror.codeforces.com/blog/entry/94587 and I think, maybe it is a good idea to make such a compilation line -O3 -funroll-loops -march=native -mtune=native? I haven't done any research that it is definitely better than -O2 and it is best in the general case for CP solutions. In a way, this will only strengthen the gap from Python/PyPy/Java, on the other hand: in pragmas and so you can set up everything. What do you think? What are suggestions to the command line?

P.S. You got it right. Yes, gcc11 std=c++20, pypy3 64-bit and more are coming.

Full text and comments »

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

By MikeMirzayanov, 3 years ago, In English

Hello, Codeforces.

We want to run a series of load testing in the production environment for running contests. For this reason, Codeforces Round 739 will be temporarily extended (in order to test it at the current round). We will temporarily disable the ability to send solutions to it so that its extended duration will not affect the results. After the completion of the work, the duration of the round will be returned.

Our current plan is to finish today.

Mike

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hey!

As I don't see the post discussing the round, I decided to write this.

I do not participate much in contests now. But I love Code Jam. Thanks to problem writers and organizers!

It seemed to me that this round was no more difficult than the previous one. How do you like it?

I liked the problems:

  • A (tags: interactive, constructive): strange problem — the most naive approach fits into the requirements on the total cost of requests;
  • B (tags: number theory, dp): I wrote some kind of DP with memorization of $$$(a, s)$$$, where $$$a$$$ is the last element in the sequence we already placed (I build in increasing order) and $$$s$$$ is the total sum for the future elements. I don't have a proof why it works fast, probably because of the number of divisors is small.
  • C (tags: combinatorics, recurrence): the last occurrence of 1 is the position of $$$n$$$, so we can divide sequence with this position on two parts and use DP to calculate the answer (don't forget to multiply on binomial coefficient);
  • D (tags: graphs, flows, greedy): I used min-cost-flow to match Ms on the first field and the second in optimal way. I tried all possible values of flow to iterate over all possible pairs of Ms I want to match and took best cost among all choices.

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hi Codeforces!

Yes, I know it's already April. Time flies so fast lately! Exactly a year ago we were just learning all the "delights" of lockdown.

So let's remember this 2020! What was it like? I don't know about you, but we had a hell of a lot of work.

I will now show you some graphs and you will be very surprised. Lockdown effect? Of course, but we did our best too.

Many thanks to everyone who did not stand aside! In 2020, we celebrated our 10th anniversary and crowdfunding money helps us grow and move forward. You helped us and each other. Thank you. Thank you for your contribution!

We've been working hard all year to make this community a better place. Did it work out? It's up to you to judge. Many thanks to everyone who invested time and effort:

Time to take stock of 2020.

Partner Events

We are pleased to hold programming competitions with companies or for companies. I'm sure this is a great way to support the community of young programmers and hire talented candidates. Here is a list of our main partners this year:

  • Telegram and personally Pavel Durov is supporting Codeforces activities for many years, every regular round is held with their help, thank you!
  • ICPC — in 2020 we held several joint events (and we liked it!), I hope there will be more
  • Mail.Ru — Technocup and Russian AI Cup
  • VK, VK Cup — now a personal multi-track competition for Russian-speaking programmers
  • XTX Markets, Codeforces Global Rounds — a series of 6 rounds with a separate scoring and souvenirs for the best participants
  • Harbour.Space University — a series of educational rounds, the selection of summer school Tech Scouts
  • JetBrains, Kotlin Heroes Rounds — Kotlin programming language contests
  • Huawei — research competitions (marathons) with elements of machine learning
  • Raiffeisenbank — round for both divisions with cool prizes
  • Grakn Labs — round for both divisions with money prizes
  • Microsoft, Microsoft Q # Coding Contest — unusual quantum computing competition

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hello, Codeforces!

I understand that 2021 has been going on for a long time, but here I have picked up a subset of some of the improvements that the Codeforces team made in 2020. Soon I will publish numbers (no, charts) with statistics for 2020. In the meantime, I bring to your attention a list of changes and improvements.

By the way, this is a decent list. This is about half to a quarter of all changes. It's just that other changes are more often somewhere in the internals of the system and are not visible to users. Please read this list. Each item is the effort of someone from the team. Thanks to geranazavr555, kuviman and cannor147 for their efforts. You've made our platform better! Well, by the way, I don't quit programming and many improvements were made by me.

The items on the list are written in a concise and informal form, many of the items I just copied from commit messages from git. If you want more details — ask in the comments, we will tell you! Of course, I forgot to include some improvements in the list.

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hello Codeforces!

This unusual and difficult 2020 has come to an end! What will the new year be like? I wish all of us that we have the opportunity to meet in person so that the contests take place not only online. I ask you to think of something important and good. Let this wish come true!

We have had a large number of rounds this year. I hope we have pleased you with interesting problems. Thanks to the round coordinators and writers! You make our community richer. Please make us happy in 2021!

I wish the participants victories over yourself (and over problems!) and development of your skills, interest and curiosity!

Hello, 2021!

And we have traditional gifts!

Change Handle Feature

Hurry! Only until the 10th of January, you can change your handle (but only once)! Note that it will be possible to roll back the changes or change the handle again only after a year. Be careful what you wish for.

You can change your handle to the new one which wasn't used before by anybody or which was used by you before. The links to a profile page with an old handle would automatically redirect to the actual profile.

Again, this year if you took part in at least 10 rounds you can request a handle of an inactive participant. It means that the participant should have a period of activity on Codeforces of at most 180 days, this period should be in 2017 or earlier. The inactive participant can't have posted comments, messages and so on. It can't take part in more than 2 contests. It will be automatically renamed and informed by email. A user has the opportunity to request back his/her handle: in this case, we will roll back the change and return your previous handle to you. If you can't change your handle to another, it means that some requirement doesn't meet. Please do not ask me to do something with it. Especially, I do not like requests like "this is my second account, I took an interesting handle myself". I'm not Santa Claus.

Talking about handles I always
reminisce the following story. Once a user wrote me the message: "Please change my handle from I_love_Valya to I_love_Sveta, as I no longer love Valya ..."

New Year's Masquerade of Colors and Ranks

The traditional magical tab has appeared in the profile setting. Happy New Year!

MikeMirzayanov

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

You can view PDF version of the tutorial by the link.

Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

Full text and comments »

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

By MikeMirzayanov, 4 years ago, translation, In English

Hello!

ICPC Southern and Volga Russian Regional Contest (Northern Eurasia) 2020 has ended on November 15. This year the competition took place online. 108 teams competed, many of them received an invitation based on the results in Qualification Contest.

On Dec/25/2020 14:35 (Moscow time) will start online-mirror 2020-2021 ICPC, NERC, Southern and Volga Russian Regional Contest (Online Mirror, ICPC Rules).

Hope you enjoy the problems. In this contest I play a role of Cheif Judge and the jury teams consists of ex-participants of ICPC from Saratov and jury members from other cities: adedalic, ashmelev, BledDest, DmitryKlenov, DStepanenko, elena, KAN, kuviman, MikeMirzayanov, pashka, PavelKunyavskiy, Дмитрий Мещеряков, Герман Наркайтис. Many thanks to all of them!

I send special rays of gratitude to testers: Merkurev, Um_nik, romanasa, josdas, budalnik, Perforator, Oleg_Smirnov, IlyaLos, Supermagzzz, Stepavly, Igor_Kudryashov, HolkinPV, Edvard, le.mur!

I invite ICPC teams and individual participants of Codeforces competitions to take part!

Of course, the competition will be unrated. I ask the participants of the official competition to refrain from participating in the mirror and discussing problems until its end.

Since this year the audience of participants was wider (due to the online format), we also selected problems a little more accessible than in previous years. If you are from the top team that claims a medal in the ICPC Finals, then it may be more fun for you to take part in this contest personally.

Good luck!

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

In 2020, with the support of XTX Markets, 6 rounds of the Codeforces Global Rounds were held. Each round was common for both divisions. All such rounds were rated for all participants. At each such round, 50 brand T-shirts were handed out, and we gave T-shirts to all problem writers!

I say a big thank you to XTX Markets (and personally to Yuri Bedny and Alexander Gerko) for supporting Global Rounds. Without your help, we could not host them! I sincerely admire companies like these who come to support and develop the community that some of their employees come from. It will be great if other companies follow the example and also offer their help. We need it!

The prizes for the 6-round series in 2020:

  • In each round, top-100 participants get points according to the table.
  • The final result for each participant is equal to the sum of points he gets in the four rounds he placed the highest.
  • The best 20 participants over all series get sweatshirts and place certificates.

Final results (and congratulations!):

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hello Codeforces!

There is something new for you. It seems that now it will be easier to reuse problems from the archive for educational and other purposes.

As you know, problems from past Codeforces rounds can be added to mashups simply by their codes of the form like 1234D (contest ID + problem letter). I myself regularly used this when I taught at Saratov University — it was very convenient to prepare trainings: problems have expected complexity and topics, there are Russian and English statements, you can see the analysis and many solutions. Because of hacks and uphacks, problems in the archive usually have strong tests. Almost all of them are well-prepared. In addition, with the help of user lists, you can easily pick up problems for a group of students that they did not solve.

But there was also an issue: the problems in such trainings were easily googled. And if the majority of adult participants could cope with the temptation to spy on the solution or tests, then beginners sometimes acted dishonestly. I received several requests to come up with something with this flaw. One of the most recent such requests was from Daniel Darooha Sleator (https://en.wikipedia.org/wiki/Daniel_Sleator). Thanks, Danny!

So the work seems to be complete. Meet a new feature on Codeforces: now you can rewrite statements for problems in mashups, completely replacing it with your own. More details about the capabilities of the new functionality:

  • a new icon-link appears in the problem list in mashups, by clicking on which there will be a form for creating/editing a new statement;
  • you can use the original text of the statement as a template when writing your own: be very careful — you must exactly repeat all the details of a statement so that problems do not formally differ;
  • this form compares the set of formulas in the original text and the new statement, and if they differ as sets, there will be a corresponding detailed warning;
  • you can specify your own tests from a statement (examples) — here you also need to be very careful so that they are formally correct;
  • if you added examples, then solutions will be judged on them first, and only after on official tests;
  • you can upload your own image files and use them in statements;
  • there is a setting to temporarily disable the use of the new statement (for example, if it is still under development).

Considering that there are already more than 6500 problems in the archive, an excellent perspective opens up for organizing trainings and educational sessions.

I hope this innovation will be useful. Write in the comments what can be improved and/or corrected.

M.

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

During the round Grakn Forces 2020 many of you can notice that now we highlight diff in statements if they changed. Do you like this new feature?

Also, I'm thinking on the way to automatically notify participants if statements changed. I still do not fully understand how this should ideally be implemented. Sometimes it is true that just a forgotten comma was added. On the other hand, it is almost always better to notify of changes. What do you think?

Full text and comments »

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

By MikeMirzayanov, history, 4 years ago, In English

In 2020 (as in 2019), with the support of XTX Markets, 6 rounds of the new Codeforces Global Rounds will be held. These will be common rounds for both divisions of 7–9 problems each. The duration of the rounds will be 2-3 hours, depending on the number and complexity of the problems. All such rounds will be rated for all participants. At each such round, 50 brand T-shirts will be handed out, and we will be happy to give T-shirts to all problem authors and problem testers.

The prizes for the 6-round series in 2020:

  • In each round top-100 participants get points according to the table.
  • The final result for each participant is equal to the sum of points he gets in the four rounds he placed the highest.
  • The best 20 participants over all series get sweatshirts and place certificates.

Current standings after four rounds (sorted by total points in four rounds):

Place Contestant = GR 7 GR 8 GR 9 GR 10
1 tourist 3203 1000 706 1000 497
2 ecnerwala 1841 235 1000 31 575
3 Um_nik 1606 706 403 497
4 boboniu 1575 575 1000
5 maroonrk 1278 149 371 52 706
6 Petr 990 497 50 443
7 yosupo 978 211 575 192
8 sunset 803 291 166 346
9 Benq 769 307 176 21 265
10 ksun48 736 122 211 403
11 LayCurse 716 171 291 254
12 scott_wu 706 706
13 Radewoosh 703 244 443 16
14 Egor 690 107 265 74 244
15 hos.lyric 661 128 226 307
16 TLEwpdus 651 235 198 218
17 jiangly 646 497 149
18 Swistakk 602 277 90 235
19 hank55663 588 74 291 78 145
20 neal 584 131 277 176
21 Marcin_smu 575 575
22 zeronumber 564 68 325 171
23 244mhq 523 325 198
24 KAN 511 307 204
25 Itst_boyfriend 493 94 92 307
26 conqueror_of_tourist 470 244 226
27 cuizhuyefei 443 443
27 Rewinding 443 443
29 tmwilliamlin168 441 70 371
30 Golovanov399 438 161 277
31 lqs2015 424 21 403
32 snuke 420 32 325 63
33 whzzt 417 92 325
34 Motarack 404 58 346
35 TLE 403 403
36 heno239 400 29 371
37 mango_lassi 393 138 153 102
38 eatmore 375 346 29
39 WZYYN 371 371
40 Errichto 367 186 181
41 dreamoon_love_AA 354 119 235
41 PavelKunyavskiy 354 346 8
43 ko_osaga 348 226 122
44 Noam527 346 142 204
45 uwi 342 211 131
46 natsugiri 341 192 149
47 aid 339 254 85
47 duality 339 153 186
49 qwerty787788 330 39 291
49 Maksim1744 330 181 149
51 kort0n 304 34 157 113
52 Yongaron 292 161 131
53 molamola. 277 277
54 frodakcin 276 254 22
55 SirShokoladina 266 105 161
56 RomaWhite 265 265
56 mrscherry 265 265
58 Merkurev 261 142 119
58 ainta 261 63 198
60 mtsd 258 145 113
61 EnEm 254 254
62 xiaowuc1 244 244
63 nonamefour0210 243 32 211
64 orz 226 226
65 gop2024 220 16 204
65 nuip 220 128 92
67 ohweonfire 218 218
67 DCXDCX 218 218
67 79brue 218 218
70 tatyam 214 138 76
71 Ilya_MSU 209 74 125 10
72 amnesiac_dusk 204 204
73 stevenkplus 202 21 181
74 djq_fpc 198 198
75 zeliboba 193 27 166
76 HashimotoNanami 192 192
76 _h_ 192 161 31
76 .I. 192 192
79 Egor.Lifar 186 186
79 Sulfox 186 186
81 dario2994 181 135 46
81 jhnan917 181 181
83 kmjp 177 105 72
84 FizzyDavid 176 176
84 atomicenergy 176 176
86 Amoo_Safar 175 4 171
87 receed 174 13 161
88 nick452 171 43 128
88 tribute_to_Ukraine_2022 171 171
90 okikust 166 166
90 craborac 166 166
92 imeimi 157 157
92 cookiedoth 157 157
94 risujiroh 153 153
94 chokudai 153 153
94 zylber 153 153
97 never_giveup 145 145
98 Muffinhead 142 142
98 GreymaneSilverfang 142 142
98 YeongTree 142 80 62
101 Toxel 138 138
101 Shayan 138 138
103 RNS_CUS 135 135
103 hepth 135 135
103 budalnik 135 135
106 dyxg 131 131
106 ATS 131 131
108 JettyOller 129 39 90
109 LHiC 128 92 36
110 lzr_010506 125 99 26
110 primenumber 125 125
110 Martin53 125 125
110 sigma425 125 125
114 Chelly 124 56 68
115 littlelittlehorse 122 122
115 dlalswp25 122 122
115 Potassium 122 122
118 Tima 119 119
119 yhx-12243 117 72 45
120 blackbori 116 116
120 yokozuna57 116 116
120 PinkieRabbit 116 116
120 betrue12 116 116
120 SSRS_ 116 50 66
125 MofK 115 102 13
126 Pigbrain 113 113
126 zhangguangxuan99 113 113
128 oopsimbad 110 110
128 Jacob 110 110
128 tempura0224 110 110
128 Eliden 110 110
132 yashChandnani 107 107
132 LynCean 107 107
132 Temotoloraia 107 107
135 Reyna 106 72 34
136 kriii 105 105
136 pashka 105 105
138 BlackPuppy 102 102
138 Thienu 102 102
140 Roundgod 101 41 60
141 antontrygubO_o 100 1 99
142 Sugar_fan 99 99
142 mayaohua 99 99
144 skylinebaby 97 97
144 neko_nyaaaaaaaaaaaaaaaaa 97 97
144 shino16 97 97
144 zscoder 97 97
148 Eternal_Dream 94 94
148 ollpu 94 94
148 riadwaw 94 94
151 jdurie 93 37 56
152 penguin1017 92 14 78
153 weishenme 90 90
153 est_stella 90 90
155 yuma_ 87 87
155 Konijntje 87 87
155 mnbvmar 87 87
155 icecuber 87 87
159 KayacanV 85 85
159 Rubikun 85 85
159 kobae964 85 85
162 stupid_american 83 83
162 Farhod 83 83
162 BigBag 83 83
162 shenxy13 83 83
166 turmax 80 80
166 sevlll777 80 80
166 GaloisTears 80 80
169 Gassa 78 78
169 crazyilian 78 78
169 znirzej 78 78
172 little_misfortune 76 76
172 Antoine 76 76
174 Alex_2oo8 74 74
175 disangan233 72 72
175 falanga 72 72
177 hugopm 70 70
177 MicGor 70 70
179 Egg_Tart_Forest 68 68
179 saba2000 68 10 58
179 upobir 68 68
182 xuanyi 66 66
182 paula 66 66
182 Shef 66 66
185 JiriKalvoda 63 63
185 gazelle 63 63
185 TadijaSebez 63 63
185 nocriz 63 63
189 nhho 62 62
189 Isonan 62 62
191 JeffreyLC 61 45 16
192 Geothermal 60 60
192 Savior-of-Cross 60 60
194 noimi 58 58
194 wucstdio 58 48 10
194 Kostroma 58 58
197 CKP_ 56 56
197 hitonanode 56 56
199 chenjb 55 36 19
200 errorgorn 54 54
200 Fuyuki 54 54
200 Kiri8128 54 54
200 cescmentation_folch 54 54
204 Retro3014 52 52
204 Ali.Kh 52 52
204 QwertyPi 52 52
207 aaaaajack 50 50
207 ttttan 50 50
209 RNS_MHB 48 48
209 misty1999 48 48
209 awoo 48 48
212 NotaMotuaQAQ 46 46
212 majk 46 46
212 tonyjjw 46 46
215 MAOoo_Love_Molly 45 45
215 vepifanov 45 45
217 jklepec 43 43
217 Morokei 43 43
217 Rewritetxdy 43 43
220 skip2004 41 41
220 Volkov_Ivan 41 41
220 Zayin 41 41
223 celesta 39 8 31
223 balbit 39 39
223 pwypeanut 39 39
223 wangziji 39 39
227 Nachia 38 22 16
228 VladaMG98 37 37
228 pupiI 37 37
230 Kalptaru 36 36
230 loup 36 36
232 oscar114514 34 34
232 EricHuang2003 34 34
234 jtnydv25 32 32
234 rstoick 32 32
236 cdkrot 31 31
237 J_J_ 29 29
237 nigus 29 29
237 ForeverFire 29 29
240 Will_Dearborn 27 27
240 AndreySergunin 27 27
242 Tweetuzki 26 26
242 AlesyaIvanova 26 26
242 nagpaljatin1411 26 26
242 darnley 26 26
246 Aeon 24 24
246 gepardo 24 24
246 oversolver 24 24
249 xtqqwq 22 22
249 KAP 22 22
251 yao11617 21 21
251 Pa.Nic 21 21
253 Apsara 19 19
253 kotatsugame 19 19
253 kotamanegi 19 19
256 Ari 17 17
256 dorijanlendvaj 17 17
256 low_ 17 17
259 nikolapesic2802 16 16
259 Akulyat 16 11 5
261 KrK 14 14
261 jiangly_fan 14 14
263 summitwei 13 13
263 AutumnKite 13 13
263 AliShahali1382 13 13
266 Wild_Hamster 11 11
266 qhqh 11 11
268 boook 10 10
268 tnowak 10 10
270 ehnryx 8 8
271 m_99 7 7
271 krijgertje 7 7
271 Tlatoani 7 7
271 Cyprien 7 7
275 vasilescu_mihai 5 5
275 osmanorhan 5 5
275 primaryStu 5 5
275 kpw29 5 5
275 baqargam 5 5
280 amethyst0 4 4
281 user202729_ 2 2
281 daifucong 2 2
281 -eidolon- 2 2
281 ekaerovets 2 2
285 mphillotry 1 1
285 SPatrik 1 1
285 Mojumbo 1 1

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hello!

This is just a small announcement of the latest updates in EDU. New features:

  • Now you can view other's solutions if you have solved the problem yourself. I think this can be very useful. When I I was a contest participant, I always looked as others who are more experienced than me wrote this or that code. Often found something interesting and useful.

  • Now you can view tests for problems in the format, as it is done in the archive in the main section of the website.

  • Now you can hack other people's solutions if you have solved the problem yourself. And fun and will improve tests of these problems.

Go to EDU →

More about EDU section you can read in this post.

And what are your wishes for functionality? I remember about filtering the results of practice by friends.

UPD: And for all practice contests I have set a policy of "use time limits scaling policy". This is a recent innovation — you can use it for educational contests, the system will automatically increase the time limit for some languages. Recommended for use only in educational contests.

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hello.

Last days I did many improvements in EDU. I afraid it can affect the contest interface. So I invite you to take part in [contest:1390], just to test the system. Please, try to hacks: there were some changes in them. Please, don't expect new or interesting problems. It is just a test. Unrated.

The problems contain extremely weak pretests. Time limits are too tight. I made my best to increase number of hacks :-)

Thanks, Mike.

UPD: Thanks! It seems no bugs have been found.

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hello.

Unfortunately, the Educational Codeforces Round 91 round will be unrated and, actually, it was completely ruined. I don’t understand what happened yet. At some point in time, all systems began to work unstably and actually stopped working. So far I have no understanding what happened. You may have to change the schedule for future rounds. Sorry. We have such a black stripe. Very upset and demotivated.

Mike.

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

In 2020 (as in 2019), with the support of XTX Markets, 6 rounds of the new Codeforces Global Rounds will be held. These will be common rounds for both divisions of 7–9 problems each. The duration of the rounds will be 2-3 hours, depending on the number and complexity of the problems. All such rounds will be rated for all participants. At each such round, 50 brand T-shirts will be handed out, and we will be happy to give T-shirts to all problem authors and problem testers.

The prizes for the 6-round series in 2020:

  • In each round top-100 participants get points according to the table.
  • The final result for each participant is equal to the sum of points he gets in the four rounds he placed the highest.
  • The best 20 participants over all series get sweatshirts and place certificates.

Current standings after three rounds (sorted by total points in three rounds):

Place Contestant = GR 7 GR 8 GR 9
1 tourist 2706 1000 706 1000
2 Um_nik 1606 706 403 497
3 ecnerwala 1266 235 1000 31
4 yosupo 786 211 575
5 scott_wu 706 706
6 Radewoosh 703 244 443 16
7 jiangly 646 497 149
8 Swistakk 602 277 90 235
9 neal 584 131 277 176
10 Marcin_smu 575 575
10 boboniu 575 575
12 maroonrk 572 149 371 52
13 Petr 547 497 50
14 244mhq 523 325 198
15 Benq 504 307 176 21
16 Itst_boyfriend 493 94 92 307
17 LayCurse 462 171 291
18 sunset 457 291 166
19 Egor 446 107 265 74
20 hank55663 443 74 291 78
20 cuizhuyefei 443 443
20 Rewinding 443 443
23 Golovanov399 438 161 277
24 TLEwpdus 433 235 198
25 lqs2015 424 21 403
26 Motarack 404 58 346
27 TLE 403 403
28 heno239 400 29 371
29 zeronumber 393 68 325
30 WZYYN 371 371
31 snuke 357 32 325
32 hos.lyric 354 128 226
32 PavelKunyavskiy 354 346 8
34 eatmore 346 346
34 Noam527 346 142 204
36 natsugiri 341 192 149
37 aid 339 254 85
38 ksun48 333 122 211
39 KAN 307 307
40 Yongaron 292 161 131
41 mango_lassi 291 138 153
42 SirShokoladina 266 105 161
43 RomaWhite 265 265
43 mrscherry 265 265
45 mtsd 258 145 113
46 EnEm 254 254
46 frodakcin 254 254
48 xiaowuc1 244 244
48 conqueror_of_tourist 244 244
50 ko_osaga 226 226
50 orz 226 226
52 gop2024 220 16 204
53 ohweonfire 218 218
53 DCXDCX 218 218
53 79brue 218 218
56 uwi 211 211
57 amnesiac_dusk 204 204
58 stevenkplus 202 21 181
59 Ilya_MSU 199 74 125
60 djq_fpc 198 198
61 zeliboba 193 27 166
62 HashimotoNanami 192 192
62 .I. 192 192
64 kort0n 191 34 157
65 Egor.Lifar 186 186
65 Sulfox 186 186
65 Errichto 186 186
68 Maksim1744 181 181
68 jhnan917 181 181
70 FizzyDavid 176 176
71 Amoo_Safar 175 4 171
72 tribute_to_Ukraine_2022 171 171
73 craborac 166 166
74 _h_ 161 161
75 cookiedoth 157 157
76 chokudai 153 153
76 zylber 153 153
76 duality 153 153
79 never_giveup 145 145
80 Merkurev 142 142
80 GreymaneSilverfang 142 142
82 tatyam 138 138
82 Shayan 138 138
84 RNS_CUS 135 135
84 hepth 135 135
84 dario2994 135 135
87 dyxg 131 131
87 ATS 131 131
89 nuip 128 128
89 LHiC 128 92 36
91 Martin53 125 125
91 sigma425 125 125
93 littlelittlehorse 122 122
93 dlalswp25 122 122
93 Potassium 122 122
96 Tima 119 119
96 dreamoon_love_AA 119 119
98 yhx-12243 117 72 45
99 yokozuna57 116 116
99 PinkieRabbit 116 116
99 betrue12 116 116
102 Pigbrain 113 113
102 zhangguangxuan99 113 113
104 oopsimbad 110 110
104 tempura0224 110 110
104 Eliden 110 110
107 yashChandnani 107 107
107 Temotoloraia 107 107
109 Reyna 106 72 34
110 kmjp 105 105
110 kriii 105 105
112 BlackPuppy 102 102
112 Thienu 102 102
112 MofK 102 102
115 antontrygubO_o 100 1 99
116 lzr_010506 99 99
116 mayaohua 99 99
118 skylinebaby 97 97
118 shino16 97 97
118 zscoder 97 97
121 Eternal_Dream 94 94
121 ollpu 94 94
123 whzzt 92 92
123 penguin1017 92 14 78
125 weishenme 90 90
125 est_stella 90 90
127 yuma_ 87 87
127 mnbvmar 87 87
127 icecuber 87 87
130 KayacanV 85 85
130 kobae964 85 85
132 stupid_american 83 83
132 Farhod 83 83
132 shenxy13 83 83
135 turmax 80 80
135 GaloisTears 80 80
135 YeongTree 80 80
138 Gassa 78 78
138 znirzej 78 78
140 little_misfortune 76 76
140 Antoine 76 76
142 disangan233 72 72
143 tmwilliamlin168 70 70
143 hugopm 70 70
143 MicGor 70 70
146 Egg_Tart_Forest 68 68
146 upobir 68 68
148 xuanyi 66 66
148 paula 66 66
148 Shef 66 66
151 JiriKalvoda 63 63
151 gazelle 63 63
151 TadijaSebez 63 63
151 nocriz 63 63
151 ainta 63 63
156 nhho 62 62
156 Isonan 62 62
158 Geothermal 60 60
158 Savior-of-Cross 60 60
160 noimi 58 58
160 wucstdio 58 48 10
160 Kostroma 58 58
163 Chelly 56 56
163 CKP_ 56 56
163 hitonanode 56 56
166 errorgorn 54 54
166 Fuyuki 54 54
166 cescmentation_folch 54 54
169 Retro3014 52 52
169 QwertyPi 52 52
171 aaaaajack 50 50
171 SSRS_ 50 50
173 RNS_MHB 48 48
173 misty1999 48 48
175 NotaMotuaQAQ 46 46
175 majk 46 46
175 tonyjjw 46 46
178 vepifanov 45 45
178 JeffreyLC 45 45
180 nick452 43 43
180 jklepec 43 43
180 Morokei 43 43
183 skip2004 41 41
183 Zayin 41 41
183 Roundgod 41 41
186 qwerty787788 39 39
186 celesta 39 8 31
186 balbit 39 39
186 pwypeanut 39 39
186 JettyOller 39 39
191 jdurie 37 37
191 pupiI 37 37
193 chenjb 36 36
193 loup 36 36
195 EricHuang2003 34 34
196 nonamefour0210 32 32
196 rstoick 32 32
198 cdkrot 31 31
199 J_J_ 29 29
199 nigus 29 29
199 ForeverFire 29 29
202 AndreySergunin 27 27
203 Tweetuzki 26 26
203 nagpaljatin1411 26 26
203 darnley 26 26
206 Aeon 24 24
206 gepardo 24 24
206 oversolver 24 24
209 Nachia 22 22
209 xtqqwq 22 22
209 KAP 22 22
212 yao11617 21 21
213 Apsara 19 19
213 kotatsugame 19 19
215 Ari 17 17
215 dorijanlendvaj 17 17
215 low_ 17 17
218 nikolapesic2802 16 16
219 KrK 14 14
219 jiangly_fan 14 14
221 summitwei 13 13
221 AutumnKite 13 13
221 AliShahali1382 13 13
221 receed 13 13
225 Wild_Hamster 11 11
225 Akulyat 11 11
227 saba2000 10 10
227 tnowak 10 10
229 ehnryx 8 8
230 krijgertje 7 7
230 Tlatoani 7 7
230 Cyprien 7 7
233 vasilescu_mihai 5 5
233 osmanorhan 5 5
233 primaryStu 5 5
233 baqargam 5 5
237 amethyst0 4 4
238 user202729_ 2 2
238 daifucong 2 2
238 ekaerovets 2 2
241 SPatrik 1 1
241 Mojumbo 1 1

Full text and comments »

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

By MikeMirzayanov, 4 years ago, In English

Hello Codeforces!

In February, in the Russian-language interface, we announced a new educational subsection of the website. It's time to go international!

I am pleased to invite you to test the new section, which so far has the working title EDU. I hope that someday EDU will become a real educational hub for fans of programming competitions. It will be great to have in one place the collected educational content with text and video materials, with selected thematic problems.

At the moment, its functionality is still under development, and here is the current progress and β-testing preview. Write your comments and suggestions in the comments here.

Go to EDU →

So far, only a pilot course with the first lesson "Suffix Array" has been presented to your attention. The plans include expanding both the functionality of the section and filling it with new content.

Russian version already contains more lessons. At the moment, it is important for us to get the first feedback from international users. Many thanks to Pavel Mavrin (pashka) for preparing the first English lesson. Please support pashka to motivate him to translate more lessons!

I hope that in the future, using the materials in this section, you will be able to gain knowledge on an extensive set of topics that are used in contests and olympiads. According to the current plan, a group of ITMO lecturers and students will be engaged in a pilot course, a little later we will consider the possibility of opening the possibility of creating classes for a wider audience.

Thanks to ITMO University for the idea and support for the implementation of this initiative!

Full text and comments »

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

By MikeMirzayanov, 5 years ago, In English

Hello!

Together with colleagues Schaffhausen Institute of Technology we hold such an event. If you want to study in Switzerland, then perhaps this is your chance!

— Mike

Hello, Codeforces!

SIT

We are thrilled to announce a new SIT STAR Contest by the Schaffhausen Institute of Technology in Switzerland. The winners will have a chance to get a fully-funded Master’s scholarship in Computer Science and Software Engineering.

What is the SIT STAR Contest?

The goal of the SIT STAR Contest is to promote interest in the field of Computer Science and Software Engineering, give students an opportunity to demonstrate their knowledge of programming, and be considered for a fully-funded graduate scholarship. You can apply to the contest here!

The SIT STAR Contest consists of:

  1. June 1-7, 2020 | Practice: To familiarize yourself with the testing environment, you will first be granted access to a practice round. You can practice any time from 1st to 7th June 2020. This is an optional step but we highly recommend to take part in it. The results of this round won’t affect the final score.
  2. June 17, 2020 | SIT STAR Contest: The final round will take place on 17th June. The participants will be given 4 hours to complete it.
  3. June — July, 2020 | Interviews and Winners announcement: Top participants with the highest scores will be invited for the interviews with the professors from the Schaffhausen Institute of Technology.

The SIT STAR Contest will include 8-12 problems of various levels of difficulty in algorithmic programming.

APPLY→

Full text and comments »

Tags sit
  • Vote: I like it
  • +333
  • Vote: I do not like it

By MikeMirzayanov, 5 years ago, In English

Hello, Codeforces!

I carefully read most of the ideas that are written in the comments and posts. I have no way to answer everything. Otherwise, I would only do what I answered. Excuse me. There are many good ideas, some easier to implement, some more difficult.

The following idea seems vivid to me. Idea is to limit the maximum rating increase for rounds where there is already an upper rating limit at registration. For example, if the upper limit is $$$u$$$, then your rating after participating in the round cannot be higher than $$$u+100$$$ even with a very successful performance. For example, after winning in Div.3 round the rating can't be more than $$$1699$$$.

It is easy to implement, it does not entail a significant redistribution of ratings. It seems I like it. What do you think about it?

Actually, probably a good idea is to make a bottom cap for rating changes: in any case of any (even the worst) performance, the rating shall not fall by more than $$$100$$$. Еverything happens during the rounds — there may be technical difficulties, force majeure, or just catastrophic bad luck. What are your thoughts about it?

— Mike

Full text and comments »

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

By MikeMirzayanov, 5 years ago, In English

Hello everyone.

In the coming days I will finish the implementation of small changes in the rating calculation for new accounts. Here are the main innovations.

  • The rating of the new account will be equal to $$$0$$$ for display (but it will be equal to $$$1400$$$ when calculating rating changes).
  • Suppose, after the first round, the participant gained $$$d_1$$$ rating points (remember that the rating was considered equal to $$$1400$$$ in such calculations), then in the rating display after this round $$$500+d_1$$$ will be displayed. Thus, after the first participation, the rating is likely to increase from $$$0$$$ to a value in the region of $$$500$$$ (plus or minus $$$300$$$ approximately).
  • Thus, before the second participation, the displayed rating is $$$500+d_1$$$, and the rating for calculating changes is $$$1400+d_1$$$. Suppose a new change is $$$d_2$$$, then the displayed rating becomes $$$500+d_1+350+d_2$$$.
  • Thus, before the third participation, the displayed rating is $$$500+d_1+350+d_2$$$, and the rating for calculating changes is $$$1400+d_1+d_2$$$. Suppose a new change is $$$d_3$$$, then the displayed rating becomes $$$500+d_1+350+d_2+250+d_3$$$.
  • And so on the first $$$6$$$ rounds. Promotions of the displayed rating will be equal to $$$500, 350, 250, 150, 100, 50$$$ (in total exactly $$$1400$$$). Therefore, after participating in $$$6$$$ rounds, the rating is “stabilized” and the displayed rating will be equal to the one used to recalculate the changes.

Thus, on average, for new accounts at an early stage, the rating will increase, getting closer to the real value. These innovations will help solve several issues:

  • We are reducing the starting rating from $$$1500 $$$ to $$$ 1400$$$, so that new accounts make a smaller contribution to the overall rating.
  • Currently, especially for inexperienced participants, there is an effect that their rating at the beginning of participation is constantly falling (from $$$1500$$$ to the value that is a true assessment of their skills). This, of course, leads to discomfort: you try, participate, solve some problems, but the rating drops.
  • The previous paragraph gives additional motivation to create new accounts. If your current rating is less than $$$1500$$$, then there is a temptation to start from scratch with a fresh account. After the changes, such a start will require a noticeable long-term effort to climb at least your current rating. It seems that the changes should slightly reduce the motivation to create new accounts.

Apparently, a similar idea is used on AtCoder, but I don't know the details.

What do you think about such improvement? Sounds good?

Full text and comments »

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

By MikeMirzayanov, history, 5 years ago, In English

I almost copied my previous blog post to separate two discussions: about Div. 4 in general and about Round 640. Please, visit this blog post to discuss Div. 4 rounds.

Hello Codeforces!

Yes, it is not a mistake I decided to run the first Div. 4 round: Codeforces Round 640 (Div. 4)! It starts on May/09/2020 17:35 (Moscow time).

The format of the event will be identical to Div. 3 rounds:

  • 5-8 tasks;
  • ICPC rules with a penalty of 10 minutes for an incorrect submission;
  • 12-hour phase of open hacks after the end of the round (hacks do not give additional points)
  • after the end of the open hacking phase, all solutions will be tested on the updated set of tests and the ratings recalculated
  • by default, only "trusted" participants are shown in the results table (but the rating will be recalculated for all with initial ratings less than 1400 or you are unrated participant/newcomer).

I urge participants whose rating is 1400+ not to register new accounts for the purpose of narcissism, but simply to take part unofficially. Please do not spoil the contest to the official participants.

Only trusted participants of the fourth division will be included in the official standings table. This is a forced measure for combating with unsporting behavior. To qualify as a trusted participants of the fourth 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 1600 or higher in the rating.

Regardless of whether you are a trusted participant of the fourth division or not, if your rating is less than 1400 (or you are a newcomer/unrated), then the round will be rated for you.

Please, read some of my thoughts about the problems of this round:

  • Don't expect A+B level problems :-) It is a real contest with easy but problems. I hope most problems fit in range D3A-D3D problems.
  • I'm not sure about order of problems. Try to read all problems or at least most of them. Testers expressed skepticism about the order of the problems but suggested different pairs of problems to swap.

We are just starting, so the complexity of the problems may deviate somewhere from your or my expectations. Wait and see.

The first "thank you" is sent to antontrygubO_o, who helped with the review and selection of problems.

Many thanks to the testers: pashka, 300iq, vovuh, Golovanov399, spookywooky, kocko, Sho, igor_kz, Sho, scott_wu, bfs.07.

I hope you enjoy the problems, and the round will be interesting!

Please, leave in comments your thoughts about exactly this round. If you want to write something about the general idea of Div. 4, then visit this blog post.

UPD: Editorial is published!

Full text and comments »

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

By MikeMirzayanov, history, 5 years ago, In English

Hello Codeforces!

Initially, here was an announcement of the first round for the fourth division. But currently, in comments there is the huge discussion of division 4 rounds in general. Honestly, I read all (almost all) comments.

I decided to replace the text of this post to match the comments better. Also, I'll write one more post separately to discuss problems. And this post will be about division 4 rounds in general.

About Div4 rounds:

  • I'm not afraid of a queue or servers overload: it is technical challenges and my task is to resolve them. The previous biggest rounds were not overshadowed by technical problems and judging delays, they went well. I see no reasons why something should work much worse in the rounds for Div. 4 (and if it does, then this should be fixed).

  • I don't think that Div. 3 rounds are too dificult. Actually, they are quite good for beginners. They are noticeably easier than Div. 2. Almost every round trusted participants solve all problems, many participants solve all without one problem. I think in general they are OK.

  • Now I don't like the idea to run in parallel Div. 3 and Div. 4 rounds (like we do for Div. 1 and Div. 2). Div. 3 rounds are harder to prepare and I don't think we can host them more than once per ~2 weeks. It means that such rounds will not give new contests for newcomers and grays/greens (I think Div. 3 are already interesting rounds for them to take part). But separate Div. 4 rounds will be easier to prepare (even than Div. 3) and probably making them we can offer more contests for low rated participants.

  • I'd like to repeat: Div. 3 and Div. 4 rounds doesn't affect the rate of Div. 1 and Div. 2 rounds. The coordinators focus only on Div. 1 and Div. 2 rounds. All Div3 (and future, if any, Div4) rounds are prepared without any help from the coordinators.

  • I do not think that by hosting Div. 4 rounds, we will lower the quality of problems. Now, I don't plan to use absolutely A+B level problems even for the Div. 4. I think problems of level like Div3A-Div3D are good candidates.

Thanks for your attention to this idea!

Full text and comments »

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