### MikeMirzayanov's blog

By MikeMirzayanov, 4 weeks ago,

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!

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

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!

• +2127

By MikeMirzayanov, 4 weeks ago,

• +70

By MikeMirzayanov, 5 weeks ago, translation,

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.

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, I_Remember_Olya_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, Nebuchadnezzar, 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!

• +269

By MikeMirzayanov, 7 weeks ago,

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!):

• +317

By MikeMirzayanov, 2 months ago,

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.

• +1666

By MikeMirzayanov, 4 months ago,

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?

• +369

By MikeMirzayanov, history, 5 months ago,

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 tlwpdus 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 kefaa2 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 Miracle03 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
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 DmitryGrigorev 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 Sooke 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 Proszek_na_ludka 171 171
90 okikust 166 166
90 kraborak 166 166
92 imeimi 157 157
94 risujiroh 153 153
94 chokudai 153 153
94 zylber 153 153
97 never_giveup 145 145
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
106 dyxg 131 131
106 ATS 131 131
108 Maripium 129 39 90
109 LHiC 128 92 36
110 lzr_010506 125 99 26
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 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 RNS_KSB 102 102
138 Thienu 102 102
140 Roundgod 101 41 60
141 antontrygubO_o 100 1 99
142 Heltion 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
151 jdurie 93 37 56
152 penguin1017 92 14 78
153 ig-Rookie 90 90
153 sjimed 90 90
155 yuma_ 87 87
155 conflict 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_Farmon 83 83
162 BigBag 83 83
162 shenxy13 83 83
166 turmax 80 80
166 sevlll 80 80
166 epic01 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 A_Fan_of_the_AK_King--lk 68 68
179 saba2000 68 10 58
179 upobir 68 68
182 xuanyi 66 66
182 paulica 66 66
182 Shef 66 66
185 JiriKalvoda 63 63
185 gazelle 63 63
185 nocriz 63 63
189 nhho 62 62
189 Isonan 62 62
191 JeffreyLC 61 45 16
192 Geothermal 60 60
192 DreamingLeaf 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 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 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
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 Bugman 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 liujingming 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 paulll 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

• +82

By MikeMirzayanov, 6 months ago,

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 →

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.

• +449

By MikeMirzayanov, 6 months ago,

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.

• +130

By MikeMirzayanov, 6 months ago,

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.

• +2329

By MikeMirzayanov, 7 months ago,

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 kefaa2 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 Miracle03 443 443
23 Golovanov399 438 161 277
24 tlwpdus 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
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 DmitryGrigorev 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 Sooke 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 Proszek_na_ludka 171 171
73 kraborak 166 166
74 _h_ 161 161
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 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 RNS_KSB 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 ig-Rookie 90 90
125 sjimed 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_Farmon 83 83
132 shenxy13 83 83
135 turmax 80 80
135 epic01 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 A_Fan_of_the_AK_King--lk 68 68
146 upobir 68 68
148 xuanyi 66 66
148 paulica 66 66
148 Shef 66 66
151 JiriKalvoda 63 63
151 gazelle 63 63
151 nocriz 63 63
151 ainta 63 63
156 nhho 62 62
156 Isonan 62 62
158 Geothermal 60 60
158 DreamingLeaf 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 Maripium 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
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 Bugman 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 liujingming 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 paulll 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

• +46

By MikeMirzayanov, 7 months ago,

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!

• +2375

By MikeMirzayanov, 8 months ago,

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!

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→

• +333

By MikeMirzayanov, 8 months ago,

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

• +680

By MikeMirzayanov, 8 months ago,

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?

• +2671

By MikeMirzayanov, history, 9 months ago,

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:

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

• 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!

• +333

By MikeMirzayanov, history, 9 months ago,

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.

• 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!

• +1391

By MikeMirzayanov, 9 months ago,

Hello, Codeforces!

Paul stingray Komkoff is my hero! He found some issues in the network configuration. The most important of them was about flow control auto-negotiation: in case of our network routers the number of dropped packets reduced in times. Thanks!

To be sure that it really helped to fix the issue I ask you to take part in Testing Round #16 (Unrated). It will start on May/07/2020 17:05 (Moscow time). Probably, it will contain 3 easy problems which are not prepared for now (I'll use some old problems, I think). The only reason to host the round is to check the system under a load. It will be an unrated round.

I am upset about what happened with the last round. Once again, I apologize to both the participants and the writer, coordinator and testers. I wrote 1-gon about the incident and apologized.

I am sure that the only way to absolutely prevent unrated rounds is just don't host them. And this is not my way. The most popular rounds were hosted without noticeable technical problems. And I'm sure the main records are yet to come. I ask the writers and coordinators to look forward with optimism and try to please us with problems.

Please, join to the testing round. See you!

— Mike.

UPD: Thank you for testing! I think the system worked great. It seems recent reconfiguration improved system performance and stability. We have some rare "Judgement failed" after database update (I'll try to fix them asap).

Announcement of Testing Round #16 (Unrated)

• +1625

By MikeMirzayanov, 9 months ago,

Sorry about it. Probably, the main reason is a network misconfiguration which leads to degradation of connection speed between some services. Strange things that I didn't change any network settings. Actually, both slow judging and logout issues are sides of the same coin. I asked for the help of the experienced specialist to help me. We are continuing to work on it. No more details at this moment. Sorry again. I'll run testing round before the next round to be sure that everything is OK.

• -65

By MikeMirzayanov, 9 months ago,

Hello, Codeforces!

Unfortunately, I report that I decided to reschedule this round. I'm afraid that something might go wrong. Some strange database behavior has appeared, which leads to slow operation in completely unexpected places (it never was and should not be). I will work hard to fix it. My recent tests show that this can dramatically increase judging time (and leads to a huge queue). I don't want to risk the efforts of the writer, the coordinator, testers, and your time. Sorry about it, I was trying to fix it for many hours but I need more time. Hope it will be a great round!

Mike.

UPD 1: I temporarily rescheduled it on May, 6. But I'll discuss the date with the writer and coordinator and reschedule it again to the date they want.

UPD 2: 1-gon approved that May/06/2020 17:35 (Moscow time) is good new date and time for the round. See you in 3 days!

UPD 3: It seems I've fixed the issue. It turned that it was connected with week ago incident. Now it is 4 AM and time to sleep.

• +2680

By MikeMirzayanov, history, 9 months ago,

Hi!

As many have noticed, sometimes problem ratings were assigned in a strange way that was not consistent with expectations. For example, ratings for complex problems of Div3 rounds were often overestimated. This was mainly due to the fact that high-ranking unofficial participants did not try such problems. It turned out that despite the high rating of a participant, a problem is not solved by the participant, and this fact raised the rating of the problem. It is not entirely correct to take into account only official participants since ratings for difficult problems are sometimes more accurately determined by unofficial participants.

Somewhere in the comments, I've read that problem ratings are set manually. Of course, this is not so. The process is automated, but I start it manually (I will fix it somehow).

I changed the formulas for calculating problem ratings, now they slightly better correspond to expectations. New problem ratings are already available on the website. I don't think they are perfect (but I hope that they are much better). If somewhere ratings obviously are wrong — it would be great to see such examples in the comments.

Thanks!

UPD 1: Thank you for examples of unexpected problem ratings. I'll try to fix them (I don't think that it is possible to fix all of them without manual work) and return with an update.

UPD 2 [May, 2]: I made another attempt to adjust the coefficients, to take into account some facts differently. The ratings are recalculated again. I carefully went through most of the comments and indicated new ratings. Now it looks a little better. I afraid, there are still some issues with some problems. Try to find them and demonstrate them in the comments. Thanks!

• +1874

By MikeMirzayanov, history, 10 months ago,

Hi! Yes, I see that the top-rated block and some other features not working, but I don't have the strength to deal with it right now. Also, I didn't fix the ratings because of wrong division cases issues. Since yesterday, I was working on an unexpected behavior of the system on the increased load. A lot has been done. But three hours of sleep in the last two days is too little for me and I need some rest. Tomorrow I'll return to fix the issues and hope to deal with them. What about your quarantine?