Vovuh's blog

By Vovuh, history, 3 weeks ago, translation, In English,

1015A - Points in Segments

Tutorial
Solution (Vovuh, O(n + m))
Solution (Vovuh, O(n * m))

1015B - Obtaining the String

Tutorial
Solution (Vovuh)

1015C - Songs Compression

Tutorial
Solution (Vovuh)

1015D - Walking Between Houses

Tutorial
Solution (BledDest)

1015E1 - Stars Drawing (Easy Edition)

Tutorial
Solution (MikeMirzayanov, O(n^3))

1015E2 - Stars Drawing (Hard Edition)

Tutorial
Solution (Vovuh, O(n^2))

1015F - Bracket Substring

Tutorial
Solution (Vovuh)

Read more »

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

By Vovuh, history, 3 weeks ago, translation, In English,

<copy-pasted-part>

Hello!

Codeforces Round #501 (Div. 3) will start at Jul/31/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!

</copy-pasted-part>

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.

UPD1: Editorial is published.

UPD2:

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 Wavyn 7 245
2 delete4 6 168
3 mafagafogigante 6 212
4 dongshunyao 6 214
5 jiaangk_ 6 217

Congratulations to the best hackers:

Rank Competitor Hack Count
1 halyavin 354:-66
2 test616.cpp 66:-7
3 OlaAdel 18
4 antguz 21:-7
5 wanderer163 20:-5

604 successful hacks and 446 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A 314rate 0:01
B 314rate 0:06
C garipov.roma 0:07
D shanghaiKingCsl 0:12
E1 Ka55un0 0:30
E2 Ka55un0 0:30
F shanghaiKingCsl 0:48

Read more »

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

By Vovuh, history, 5 weeks ago, In English,

1006A - Adjacent Replacements

Tutorial
Solution (Vovuh)

1006B - Polycarp's Practice

Tutorial
Solution (Vovuh)

1006C - Three Parts of the Array

Tutorial
Solution (Vovuh, set)
Solution (ivan100sic, two pointers)

1006D - Two Strings Swaps

Tutorial
Solution (Ne0n25)

1006E - Military Problem

Tutorial
Solution (mareksom)

1006F - Xor-Paths

Tutorial
Solution (Vovuh)

Read more »

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

By Vovuh, history, 5 weeks ago, translation, In English,

Hello!

Finally I am freed from the big part of summer cares and I can continue the preparation of Div. 3 rounds! I decided to add something written by me to this blog because TryToKnowMe (and many others, i think) noticed that i am really copy and paste this text from one announcement to another changing only contest name and start time. But... Who knows, may be this time which is saved by copy-pasting the announcement allows me to prepare the problems better?... Let it stay a mystery. So, let's go.

Codeforces Round #498 (Div. 3) will start at Jul/16/2018 17:35 (Moscow time). You will be offered 6 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 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!

UPD: Also great thanks to the testers uwi, mareksom and ivan100sic for their invaluable help with the round preparation!

UPD2: Results table!

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 HighPressure 6 236
2 LividFox 6 237
3 Rzuji 6 265
4 Syvail 6 273
5 khadgar1998 6 279

Congratulations to the best hackers:

Rank Competitor Hack Count
1 jhonber 131:-7
2 antguz 9
3 ducdien2267 9:-3
4 djm03178 6:-1
5 imlk 4

199 successful hacks and 232 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A eggmath 0:01
B eggmath 0:06
C thidailoc 0:07
D MoreThanANoob 0:23
E Student_of_Husayn 0:07
F NoTrolleNoLife 0:18

UPD3: Editorial is published.

Read more »

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

By Vovuh, history, 7 weeks ago, In English,

1003A - Polycarp's Pockets

Tutorial
Solution (Vovuh)

1003B - Binary String Constructing

Tutorial
Solution (Vovuh)

1003C - Intense Heat

Tutorial
Solution (PikMike)

1003D - Coins and Queries

Tutorial
Solution (Vovuh)

1003E - Tree Constructing

Tutorial
Solution (Vovuh)

1003F - Abbreviation

Tutorial
Solution (Vovuh)

Read more »

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

By Vovuh, history, 7 weeks ago, translation, In English,

Hello!

Codeforces Round #494 (Div. 3) will start on July 3 (Tuesday) at 14:35 (UTC). You will be offered 6 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 problems and 2 hours to solve them.

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 Mikhail PikMike Piklyaev, Maksim Ne0n25 Mescheryakov and Ivan BledDest Androsov for help in round preparation and testing the round.

Good luck!

UPD: Editorial

UPD2:

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 peanutpedo20 6 194
2 Sakurak 6 363
3 Mr.HP 6 404
4 CrownJJ 6 417
5 ProgrammingCanBeHard 5 153

Congratulations to the best hackers:

Rank Competitor Hack Count
1 Osama_Alkhodairy 32:-3
2 Marcel_Ib 26
3 SovietPower 23:-1
4 neelbhallabos 22:-2
5 Milkdrop 20:-3

419 successful hacks and 670 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A ProgrammingCanBeHard 0:00
B Rinne 0:08
C vjudge101 0:10
D adamgibiadam 0:11
E peanutpedo20 0:39
F peanutpedo20 0:55

Read more »

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

By Vovuh, history, 2 months ago, translation, In English,

I'm really sorry for the issue with the problem D difficulty, it was much harder than i expected, and there was a big difficulty gap between problems C and D. I hope in the next rounds it will never happen again.

UPD: I'd like to say a big thanks to kevinsogo for the great help with tutorials and the round preparation in general.

999A - Mishka and Contest

Tutorial
Solution (Vovuh)

999B - Reversing Encryption

Tutorial
Solution (Vovuh)

999C - Alphabetic Removals

Tutorial
Solution 1 (Vovuh)
Solution 2 (Vovuh)

999D - Equalize the Remainders

Tutorial
Solution (Vovuh)

999E - Reachability from the Capital

Tutorial
Solution (Vovuh)
Linear Solution (Vovuh)

999F - Cards and Joy

Tutorial
Solution (Vovuh)

Read more »

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

By Vovuh, history, 2 months ago, translation, In English,

Hello!

Codeforces Round #490 (Div. 3) will start on June 21 (Thursday) at 14:35 (UTC). You will be offered 6 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 problems and 2 hours to solve them.

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 Mikhail PikMike Piklyaev, Maksim Ne0n25 Mescheryakov and Ivan BledDest Androsov for help in round preparation and testing the round.

Good luck!

UPD: Also great thanks to step_by_step, kevinsogo and nhho for help in round preparation and testing the round.

UPD2: The results table!

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 I_Love_SDSZ 6 150
2 JerryKFC 6 151
3 Lovely_qgq 6 170
4 Meroeht 6 181
5 the_myth_1996 6 209

Congratulations to the best hackers:

Rank Competitor Hack Count
1 djm03178 30:-2
2 2014CAIS01 13:-3
3 quailty 5:-2
4 ankitprasad0069 4:-2
5 kimden 2

110 successful hacks and 226 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A jh05013 0:01
B JerryKFC 0:02
C abrunoaa 0:03
D TTMC_Love1996 0:21
E NamikazeBoruto 0:11
F Counting_Stars 0:20

UPD3: Editorial

Read more »

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

By Vovuh, history, 3 months ago, In English,

988A - Diverse Team

Tutorial
Solution (Vovuh)

988B - Substrings Sort

Tutorial
Solution (Vovuh)

988C - Equal Sums

Tutorial
Solution (Vovuh)

988D - Points and Powers of Two

Tutorial
Solution (Vovuh)

988E - Divisibility by 25

Tutorial
Solution (Vovuh)

988F - Rain and Umbrellas

Tutorial
Solution (Vovuh)
Solution (step_by_step)

Read more »

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

By Vovuh, history, 3 months ago, translation, In English,

Hello!

Codeforces Round #486 (Div. 3) will start on June 1 (Friday) at 14:35 (UTC). It will be the third Div.3 round in the history of Codeforces. You will be offered 6 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.

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 Maksim Ne0n25 Mescheryakov and Ivan BledDest Androsov for testing the round.

UPD: I also would like to thank step_by_step and eddy1021 for testing the round and help with it preparation!

UPD2: You will be given 6 problems and 2 hours to solve them.

UPD3: Editorial is published. Thanks to Mikhail PikMike Piklyaev for the help with translation.

UPD4:

Congratulations to the winners (official results):

Rank Competitor Problems Solved Penalty
1 volamtruyenkyii 6 196
2 IOI2018 6 238
3 Student_of_Husayn 6 303
4 Omoshiroi_ 6 311
5 Deadpool 6 313
6 AHDPIYKO 6 341

Congratulations to the best hackers:

Rank Competitor Hack Count
1 jhonber 70:-1
2 djm03178 61:-4
3 applese 53:-1
4 WAI95 41:-3
5 step_by_step 38:-5
6 greencis 57:-45

530 successful hacks and 401 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A AhmedMohamd-BeatMeIFUCAN 0:02
B S1mplest_gu1 0:06
C S1mplest_gu1 0:12
D volamtruyenkyii 0:23
E Ycrpro 0:19
F MuieEcaterina 0:49

I hope that you will like the problems. If the problems in this round are too easy or too hard, then we will adjust the difficulties in the next Div. 3 rounds.

Good luck!

Read more »

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

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

977A - Wrong Subtraction

Tutorial
Solution (Vovuh)

977B - Two-gram

Tutorial
Solution (Vovuh)

977C - Less or Equal

Tutorial
Solution (Vovuh)

977D - Divide by three, multiply by two

Tutorial
Solution (eddy1021)

977E - Cyclic Components

Tutorial
Solution (Vovuh)

977F - Consecutive Subsequence

Tutorial
Solution (Vovuh)

Read more »

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

By Vovuh, 4 months ago, In English,

Hello!

Codeforces Round #479 (Div. 3) will start on May 6 (Sunday) at 14:05 (UTC). It will be the first Div.3 round in the history of Codeforces. You will be offered 6 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.

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 Ne0n25 for testing the round.

UPD: Thanks a lot to testers dreamoon, eddy1021, step_by_step and egor.lifar who agreed to test the problems and found the mistakes. Now we are ready to start the round!

I hope that you will like the problems. If suddenly something does poorly with difficulties of the problems, then we will adjust the difficulties in the next Div. 3 rounds.

Briefly about myself. My name is Vladimir Petrov, I am studying at the 3rd year at Saratov State University and from the high-school I am studying at SSU Olympiad Training Center. In ICPC I participate in the team "Saratov SU Daegons" with PikMike and Ne0n25. I like reading and watching science fiction. I’ve read "Song of Ice and Fire" 3 times and wait for publication of 2 more volumes.

Good luck!

UPD2: Editorial

UPD3:

Congratulations to the winners (official results):

Rank Competitor Problems Solved Penalty
1 cMartynas 6 69
2 nimphy 6 117
3 iman12 6 124
4 mandinga 6 128
5 raffica 6 144

Congratulations to the best hackers:

Rank Competitor Hack Count
1 greencis 36:-8
2 Tlalafuda__Tlalafu 10:-1
3 STommydx 9:-1
4 dalex 8:-7
5 dreamoon 4:-3
6 shnk 2

97 successful hacks and 297 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A kuzmoid 0:01
B c650Alpha 0:04
C Milhous 0:08
D Milhous 0:11
E s0mth1ng 0:09
F DoveDragon 0:14

Read more »

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

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

976A - Minimum Binary Number

Editorial
Solution (Vovuh)

976B - Lara Croft and the New Game

Editorial
Solution (PikMike)

976C - Nested Segments

Editorial
Solution (PikMike)

976D - Degree Set

Editorial
Solution (PikMike)

976E - Well played!

Editorial
Solution (Ajosteen)

976F - Minimal k-covering

Editorial
Solution (adedalic)

Read more »

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

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

Hello Codeforces!

On April 30, 17:35 MSK Educational Codeforces Round 43 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 Div. 2. It will be held on extented ACM ICPC rules. After the end of the contest you will have one day to hack any solution you want. You will have access to copy any solution and test it locally.

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

The problems were prepared by Mikhail PikMike Piklyaev, Roman Ajosteen Glazov, Adilbek adedalic Dalabaev and me.

We'd like to thank Ivan BledDest Androsov and Maksim Ne0n25 Mescheryakov for the help in preparing the round.

Good luck to all participants!

UPD: The round will contain 6 problems instead of 7.

UPD2: Editorial

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 dotorya 6 150
2 I_love_Tanya_Romanova 6 276
3 uwi 6 324
4 nuip 6 327
5 dreamoon 6 328

Congratulations to the best hackers:

Rank Competitor Hack Count
1 hryniuk 66:-4
2 Aemon 65:-13
3 saw.ai 56:-2
4 uwi 57:-12
5 im0qianqian 40:-1

777 successful hacks and 656 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A 300iq 0:00
B I_love_Tanya_Romanova 0:05
C readers3 0:06
D dotorya 0:26
E djq_cpp 0:21
F kraskevich 0:24

Read more »

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

By Vovuh, history, 5 months ago, In English,

961A - Tetris

Editorial
Solution (Vovuh)

961B - Lecture Sleep

Editorial
Solution (Vovuh)

961C - Chessboard

Editorial
Solution (Ajosteen)

961D - Pair Of Lines

Editorial
Solution (adedalic)

961E - Tufurama

Editorial
Solution (Ajosteen)

961F - k-substrings

Editorial
Alternative solution (jtnydv25)
Solution (adedalic, suffix array)
Solution (adedalic, hashes)

961G - Partitions

Editorial
Solution (adedalic)

Read more »

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

By Vovuh, history, 5 months ago, translation, In English,

Hello Codeforces!

On April 04, 17:05 MSK Educational Codeforces Round 41 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 Div. 2. It will be held on extented ACM ICPC rules. After the end of the contest you will have one day 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 prepared by Roman Ajosteen Glazov, Adilbek adedalic Dalabaev and me.

We'd like to thank Mikhail PikMike Piklayev and Ivan BledDest Androsov for the help in preparing the round.

Good luck to all participants!

UPD Editorial

UPD2

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 dotorya 7 176
2 Um_nik 7 190
3 jtnydv25 7 532
4 Benq 6 126
5 fanache99 6 135

Congratulations to the best hackers:

Rank Competitor Hack Count
1 halyavin 178:-40
2 algmyr 113:-1
3 applese 24
4 pajenegod 24:-11
5 Black.Monster 14:-1

518 successful hacks and 491 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A bazsi700 0:01
B MrDindows 0:03
C dotorya 0:07
D EMOAIRX 0:06
E aneesh2312 0:16
F dotorya 0:43
G jtnydv25 0:12

Read more »

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

By Vovuh, history, 7 months ago, translation, In English,
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

Read more »

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

By Vovuh, history, 7 months ago, translation, In English,

Hello Codeforces!

On January 13, 16:05 MSK Educational Codeforces Round 36 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 (traditionally now) rated for Div. 2. It will be held on extented ACM ICPC rules. After the end of the contest you will have one day 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 prepared by Mikhail PikMike Piklyaev, Ivan BledDest Androsov, Sergey sslotin Slotin and me.

Good luck to all participants!

I also have a message from our partners, Harbour.Space University:

As we get ready to dive into the second week of the year, we want to update you all on the upcoming Hello India x Russia Programming Bootcamp! So far 25 teams have registered, with more signing up daily.

As a reminder, the boot camp will take place from March 22nd to March 30th, 2018, at the Amrita School of Engineering campus, India. The Coordinator of the Programming Committee, and head coach will be two time ACM-ICPC world vice-champion Gleb GlebsHP Evstropov.

You can find more information and registration, click here

For those of you who need financial support for the boot camp, please fill up the register form, then we will contact you and prepare an official sponsorship request letter for you to present to your University, University’s IT partners or your potential employer.

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 JustasK 7 265
2 uwi 7 275
3 KrK 7 277
4 LHiC 7 284
5 latte0119 7 331

Congratulations to the best hackers:

Rank Competitor Hack Count
1 halyavin 725:-45
2 zscoder 34:-10
3 M3hran 28:-3
4 OlegZubkov 28:-3
5 neelbhallabos 21

2023 successful hacks and 1300 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A Dalgerok 0:00
B Rafbill 0:03
C yashar_sb_sb 0:11
D eddy1021 0:25
E bmerry 0:11
F SmsS4 0:15
G MrDindows 0:19

UPD Editorial

Read more »

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

By Vovuh, history, 8 months ago, translation, In English,
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

Read more »

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

By Vovuh, 8 months ago, translation, In English,

Hello Codeforces!

On December 12, 18:05 MSK Educational Codeforces Round 34 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 Div. 2 again. It will be held on extented ACM ICPC rules. After the end of the contest you will have one day 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 prepared by Mikhail PikMike Piklyaev, Ivan BledDest Androsov and me.

Good luck to all participants!

I also have a message from our partners, Harbour.Space University:

Scholarship Information

We are offering a Scholarship for each of our three tech programmes: Data Science, Computer Science and Cyber Securityfill out the Form for the January 2018 programme start period or the September 2018 programme start period. We will contact you soon. Can't wait to see you here!

Go to form

Congratulations to the winners:

Rank Competitor Problems Solved Penalty
1 dotorya 6 209
2 JustasK 6 228
3 dreamoon 6 248
4 ivan100sic 6 273
5 Shayan_Jahan 6 308

Congratulations to the best hackers:

Rank Competitor Hack Count
1 Artmat 109:-9
2 blockingthesky 81:-1
3 ssor96 61:-1
4 BurningAss 61:-8
5 proptit_4t41 63:-18

1528 successful hacks and 786 unsuccessful hacks were made in total!

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

Problem Competitor Penalty
A proptit_4t41 0:01
B MrDindows 0:04
C Kitorp 0:02
D mdippel 0:20
E dotorya 0:27
F step_by_step 0:38
G dotorya 1:03

UPD Editorial

Read more »

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

By Vovuh, history, 11 months ago, translation, In English,
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

Read more »

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

By Vovuh, history, 22 months ago, translation, In English,
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

Read more »

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

By Vovuh, 23 months ago, translation, In English,
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...
Tutorial is loading...

Read more »

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

By Vovuh, history, 23 months ago, translation, In English,

Hello, Codeforces!

30th September 2016 at 17:05 MSK Codeforces Round #374 (Div. 2) will take place for second division participants. Traditionally, participants from the first division will be able to join out of competition. Please, notice that the start time is unusual.

This is my second Codeforces round, I tried to make problems interesting for everyone, so I recommend to read all problems statements! I hope that everyone will find something new and interesting. I wish lots of accepted runs and higher rating to all participants.

I want to thank Michael MikeMirzayanov Mirzayanov for wonderful platforms Polygon and Codeforces, and for help in preparing the problems, my best friends Danil dans Sagunov also for help in preparing the round and Ivan BledDest Androsov for testing the problems.

Participants will be given five tasks and two hours for solve them. Scoring system will be announced traditionally closer to round start. :)

The scoring is almost the standard: 500-1000-1500-2000-2750

UPD: Editorial

Read more »

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

By Vovuh, history, 3 years ago, translation, In English,

567A - Lineland Mail

One can notice that the maximum cost of sending a letter from i'th city is equal to maximum of distances from i'th city to first city and from i'th city to last (max(abs(xi - x0), abs(xi - xn - 1)). On the other hand, the minimum cost of sending a letter will be the minimum of distances between neighboring cities (i - 1'th and i + 1'th cities), more formally, min(abs(xi - xi - 1), abs(xi - xi + 1). For each city, except the first and the last this formula is correct, but for them formulas are (abs(xi - xi + 1)) and (abs(xi - xi - 1)) respectively.

Author solution

567B - Berland National Library

To answer the queries correct, we need to know if the person is still in the library. For that purpose we will use in array of type bool. Also we will store two variables for the answer and ''current state'' (it will store the current number of people in the library). Let's call them ans and state respectively.

Thus, if we are given query  + ai then we should increase state by one, mark that this person entered the library (in[ai] = true) and try to update the answer (ans = max(ans, state)).

Otherwise we are given  - ai query. If the person who leaves the library, was in there, we should just decrease state by one. Otherwise, if this person was not in the library (in[ai] == false) and leaves now, he entered the library before we started counting. It means we should increase the answer by one anyway. Also one should not forget that it is needed to mark that the person has left the library (in[ai] = false).

Author solution

567C - Geometric Progression

Let's solve this problem for fixed middle element of progression. This means that if we fix element ai then the progression must consist of ai / k and ai·k elements. It could not be possible, for example, if ai is not divisible by k ().

For fixed middle element one could find the number of sequences by counting how many ai / k elements are placed left from fixed element and how many ai·k are placed right from it, and then multiplying this numbers. To do this, one could use two associative arrays Al and Ar, where for each key x will be stored count of occurences of x placed left (or right respectively) from current element. This could be done with map structure.

Sum of values calculated as described above will give the answer to the problem.

Author solution

567D - One-Dimensional Battle Ships

First, we should understand when the game ends. It will happen when on the n-sized board it will be impossible to place k ships of size a. For segment with length len we could count the maximum number of ships with size a that could be placed on it. Each ship occupies a + 1 cells, except the last ship. Thus, for segment with length len the formula will look like (we add "fictive" cell to len cells to consider the last ship cell). This way, for [l..r] segment the formula should be .

For solving the problem we should store all the [l..r] segments which has no ''free'' cells (none of them was shooted). One could use (std: : set) for that purpose. This way, before the shooting, there will be only one segment [1..n]. Also we will store current maximum number of ships we could place on a board. Before the shooting it is equal to .

With every shoot in cell x we should find the segment containing shooted cell (let it be [l..r]), we should update segment set. First, we should delete [l..r] segment. It means we should decrease current maximum number of ships by and delete it from the set. Next, we need to add segments [l..x - 1] and [x + 1..r] to the set (they may not be correct, so you may need to add only one segments or do not add segments at all) and update the maximum number of ships properly. We should process shoots one by one, and when the maximum number of ships will become lesser than k, we must output the answer. If that never happen, output  - 1.

Author solution

567E - President and Roads

At first, let's find edges that do not belong to any shortest paths from s to t. Let's find two shortest path arrays d1 and d2 with any shortest-path-finding algorithm. First array stores shortest path length from s, and the second — from t. Edge (u, v) then will be on at least one shortest path from s to t if and only if d1[u] + w(u, v) + d2[v] == d1[t].

Let's build shortest path graph, leaving only edges described above. If we consider shortest path from s to t as segment [0..D] and any edge (u, v) in shortest path graph as its subsegment [d1[u]..d1[v]], then if such subsegment do not share any common point with any other edge subsegment, except its leftest and rightest point (d1[u] and d1[v]), this edge belongs to every shortest path from s to t.

Now we could surely answer "YES" to such edges. Next part of the solution are much simple. If edge (u, v) do not belong to every shortest path, we could try decrease its weight. This edge will belong to every shortest path if and only if its weight will become d1[t] - d1[u] - d2[v] - 1. So, if this value are strictly positive, we should answer "CAN" considering new edge weight. Otherwise we need to output "NO".

Author solution

567F - Mausoleum

Consider that we are placing blocks by pairs, one pair by one, starting from leftmost and rightmost places. Thus, for example, two blocks of height 1 we could place in positions 1 and 2, 1 and 2n, or 2n - 1 and 2n. The segment of unused positions will be changed that way and the next block pairs should be placed on new leftmost and rightmost free places. At last only two positions will be free and we should place two blocks of height n on them.

Any correct sequence of blocks could be builded that way. Let's try to review the requirements consider such way of placing blocks. As soon as we place blocks one by one, the requirements are now only describes the order of placing blocks. For example, requirement ''3 >= 5'' means that we should place block in position 3 only if block in position 5 is already placed (and thus it have lesser height), or we place pair of blocks of same height on them at one moment.

For counting required number of sequences we will use dynamic programming approach. Let's count dp[l][r] — the number of ways to place some blocks in the way that only positions at segment [l..r] are free. The height of current placed pair of blocks is counted from the segment borders itself (. Fix one way of placing current block pair (exclusion is l =  = r + 1). Now check if such placing meets the requirements. We will consider only requirements that meets one of the current-placing positions. For every "current" position "<" must be true only for free positions (positions in [l..r], which do not equal to current positions), ">" must be true for already-placed positions (out of [l..r]) and "=" must be true only for second current position.

This DP could be easily calculated using "lazy" approach.

Author solution

Read more »

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