By awoo, history, 7 days ago, translation,

Hello Codeforces!

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

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

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

The problems were invented and prepared by Adilbek adedalic Dalabaev, Vladimir vovuh Petrov, Ivan BledDest Androsov, Maksim Neon Mescheryakov and me. Also huge thanks to Mike MikeMirzayanov Mirzayanov for great systems Polygon and Codeforces.

Good luck to all the participants!

Our friends at Harbour.Space also have a message for you:

Harbour.Space's Front-end Development programme is where programming and creativity collide. Receive up to a 50% scholarship and take advantage of this opportunity to study in Barcelona and learn from industry experts while you become one yourself.

The programme is heavily geared towards developing students’ professional skills needed for employment while being able to adapt to rapidly changing technology.

Hjörtur is the CEO of 14islands, a design and development studio from Stockholm in Sweden and Floripa in Brazil. He co-founded the studio in 2011 and since then they've done work with companies such as Google, Adidas, Disney, Facebook, HBO, Shopify, Ericsson and many innovative startups in the world.

Marco Barbosa is the Managing Director of 14islands, a design and development studio from Stockholm in Sweden and Floripa in Brazil. Their projects have won multiple awards such as the FWA, Awwwards, CSS Design Awards, and European Design Awards.

Apply Now →

Good luck,

Harbour.Space University Team

UPD: Editorial is out

• -242

 » 7 days ago, # | ← Rev. 2 →   -9 Good luck everyone!! Hopefully everyone has fun!
•  » » 6 days ago, # ^ |   +153 :(
•  » » » 6 days ago, # ^ |   +3 cant agree more TwT
•  » » » 6 days ago, # ^ |   +3 Hahahahaha!
•  » » » 6 days ago, # ^ | ← Rev. 7 →   +40
 » 7 days ago, # | ← Rev. 2 →   -96 Stop downvoting my comment, please XD
•  » » 7 days ago, # ^ |   +54 Why do you want unrated round when there are so many virtual contests already?
•  » » 7 days ago, # ^ |   +36 Why do you want unrated? The whole point of rating is to see if you are improving or not, and unrated rounds would also be not fun. If you want unrated just do virtual participation
•  » » 7 days ago, # ^ | ← Rev. 2 →   0 Unrated rounds are already technically in codeforces (virtual rounds).
•  » » 6 days ago, # ^ |   -42 Oh I will downvote your comment buddy.
 » 7 days ago, # |   +7 You can do anything, just don't give up!
 » 7 days ago, # | ← Rev. 2 →   +36 1 point away from expert. Hope this will seal the deal!Edit: Sorry for jinxing it guys :(
•  » » 7 days ago, # ^ |   0 all the best
•  » » 7 days ago, # ^ |   +20 Good luck! But don't get too focused on this, or you will become nervous and won't solve problems that well. Remember, it's just a round and you should try to enjoy it no matter what your rating now is:)
•  » » » 6 days ago, # ^ |   +1 full Agree with you ⁜
 » 7 days ago, # |   0 You should aim for questions rated for X+200 where X is your rating to make improvement. Do u agree with this ?
•  » » 7 days ago, # ^ | ← Rev. 4 →   +3 I try to aim for X + 400, I think it doesn't matter much
•  » » » 6 days ago, # ^ |   0 Same
•  » » » 6 days ago, # ^ |   +18 I practice X-200.
•  » » 7 days ago, # ^ |   0 I agree
•  » » » 7 days ago, # ^ |   0 Big Brother
•  » » 5 days ago, # ^ |   0 I prefer segment rather than single rating. I train on problems rated from x to x+500 where x is my rating.
•  » » 5 days ago, # ^ |   0 Start with problem rating range 800-1000 and after every solve, increase the lower bound and upper bound by 300. In this way, you can practice fast solve and hard solve both.
 » 7 days ago, # |   0 I am competing red coders in parallel universe.
•  » » 7 days ago, # ^ |   +24 Are u making the same kind of comments from different parallel universes ? °_0
•  » » » 6 days ago, # ^ |   0 lol
 » 7 days ago, # |   0 Hope i solve ABC
•  » » 7 days ago, # ^ |   +6 You just have to believe that you can do it.
•  » » » 6 days ago, # ^ |   +8 Does this change your mind
 » 7 days ago, # |   +7 Here's a hint: prefix sum and binary search.
•  » » 7 days ago, # ^ |   +8 It's called educational for a reason
 » 7 days ago, # |   -14 If you play with me, you will have a lot of fun
 » 7 days ago, # |   0 I hope to get a chance to be on the blue for this game, good luck to you guys and good luck to myself
•  » » 7 days ago, # ^ |   +3 Thanks, good luck to you too
•  » » » 7 days ago, # ^ | ← Rev. 2 →   -29 wuwu
•  » » » » 6 days ago, # ^ |   -9 She should be as lovely as you are, little beauty
•  » » » » » 6 days ago, # ^ |   0 get off the internet you fucking disgusting pedophile
•  » » » » » » 5 days ago, # ^ |   0 You are sick, just in the girl to girl compliments
•  » » » » » » » 5 days ago, # ^ |   0 you make no sense you absolute idiotactual pedo out in the wild, how can you like these 5 year old looking anime drawings, you're absolutely disgusting you scum
 » 7 days ago, # |   0 Good Luck to everyone.☆(✧'ᗢ'✧)ฅ
 » 7 days ago, # |   0 Hope everyone has good luck.
 » 7 days ago, # |   0 look forward to solve ABC. Ah, it is enough to me
•  » » 5 days ago, # ^ |   +1 Fine, AB is already enough to me
•  » » » 3 days ago, # ^ |   0 C is doing charity work in humbling T_T
 » 7 days ago, # |   -6 Hope the questions are EASY :)
 » 7 days ago, # |   0 Good luck everyone I hope to solve ABC
 » 7 days ago, # |   -38 as usual segregation on codeforces ... the community wants unrated so everyone can participate but you always seek to separate "your league" from "the rest". typical russians but what can you do i guess
 » 6 days ago, # |   +16 Hope I will get higher rating this time,it's really terrible to get lower rating for many times……
•  » » 6 days ago, # ^ |   0 Good luck!
•  » » 6 days ago, # ^ |   0 good luck
 » 6 days ago, # |   0 I hope the editorial will be posted right after the contest this time.
 » 6 days ago, # |   -8 Hope, I will become Expert Again today !!!
 » 6 days ago, # |   0 feel excited to make myself green again (mmga) hope things don't turn against me
•  » » 6 days ago, # ^ |   +4 well next time then
 » 6 days ago, # |   0 I'm stuck on Expert for too long. Hope I can be candidate master this round
 » 6 days ago, # |   +22 seems like B and C difficulty difference is high
•  » » 6 days ago, # ^ |   0 It really is.
 » 6 days ago, # |   +33 Well :')
•  » » 6 days ago, # ^ |   0 lol fr. It was super implementation heavy so hacks are gonna be brutal :(
•  » » 6 days ago, # ^ |   0 Where is this photo from?
 » 6 days ago, # |   +43 Bros made a div 1 contest, added 2 easy problems for A and B, and named it div 2.
•  » » 6 days ago, # ^ |   0 Div 2 ABFDE + Div 1 C actually
 » 6 days ago, # |   +19 The difficulty gap between B and C is too big……
•  » » 6 days ago, # ^ |   0 Agree, but again C was harder than D... and gap between B and D isn't big.
 » 6 days ago, # | ← Rev. 2 →   +5 Toughest educational round ever ?? :)
 » 6 days ago, # |   +28 Problem C is much more difficult than normal C problems
•  » » 6 days ago, # ^ |   0 yes
•  » » 6 days ago, # ^ |   0 c and d >= 1900 (acc to me)
•  » » » 6 days ago, # ^ | ← Rev. 2 →   0 D <= 1600
•  » » » » 5 days ago, # ^ | ← Rev. 2 →   +6 D <= 1600 is a little bit of a stretch bro. No 1600 question would get under 1000 solves in a contest. D is kind of annoying to implement and optimize for a 1600. I'd expect it to be around 1700-1900 to be honest.
•  » » » » 5 days ago, # ^ |   0 both are 2000 :)
•  » » » » » 5 days ago, # ^ |   0 Hm, ok, but on my pov D was easier.
•  » » » » » » 4 days ago, # ^ |   0 valid point. D is annoying to optimize tho.
 » 6 days ago, # | ← Rev. 2 →   +13 For the big part of contestants (including me) the only real challenge was to solve A and B as quick as possible.
 » 6 days ago, # |   +18 Worst Edu round ever .
•  » » 5 days ago, # ^ |   0 Yeah, if you solve just 3 problems you get in top-1000, C is very cringy, D is hard to optimise (had to use pragmas)
 » 6 days ago, # |   +44 meme
•  » » 6 days ago, # ^ |   -11 It's called the exponential round, every two problems you loose one order of magnitude of the contestants :).
 » 6 days ago, # |   0 Thanks for speedforces, I am sure everybody likes this round! \s
•  » » 6 days ago, # ^ |   0 I agree with u.(very very
 » 6 days ago, # |   0 If anyone is new to codeforces today this type of contests happens once in a while and is referred as speedforces. Don't judge by this contest and leave codeforces :(
•  » » 6 days ago, # ^ |   +30 Little clearer: Don't judge by this contest and don't leave codeforces
•  » » 6 days ago, # ^ |   0 But every 1 in 4 contest is like this only.
 » 6 days ago, # | ← Rev. 2 →   +23 The difficult gap between B and C is too big :( Perhaps this is the most difficult C in Div. 2 that I have ever participated in.
•  » » 6 days ago, # ^ |   0 it may be not. Actually when you check the solution you won't find it so difficult :)
 » 6 days ago, # |   +32 When I finished A & B and read C & D, I realized that the contest for me was over.
•  » » 5 days ago, # ^ |   0 As an Expert you shouldn't say that Hhh
 » 6 days ago, # |   +5 Оne gets the impression that this contest was made specifically for advertising. Completely unbalanced quests posted (in my opinion)
 » 6 days ago, # |   +8 What are c and d of this contest.
•  » » 6 days ago, # ^ |   +3 Mind Blowing problems.
 » 6 days ago, # |   +2 What's speedforces?
•  » » 6 days ago, # ^ | ← Rev. 2 →   +11 It's a contest where there's a large gap between two adjacent problems (In this case B and C). This leads to a bottleneck where a lot of people can't get past that one question, meaning the rankings for them are solely determined by the SPEED in which they solved the other problems.
•  » » » 6 days ago, # ^ |   +6 Thanks a lot!(●'◡'●)
•  » » » 6 days ago, # ^ | ← Rev. 2 →   0 And the performance of contestants who are able to solve problems in the range 1400-1600 becomes comparable to that of contestants who are able to solve problems till 1300 only.
 » 6 days ago, # | ← Rev. 2 →   +2 speedforces
 » 6 days ago, # |   +8 SpeedforcesAB
 » 6 days ago, # |   +6 disgusting speedforces :(
»
6 days ago, # |
+7

Not SPEEDFORCES, but HACKFORCES!!!

I want to predict that, the hacking will be crowded, especially for the AB participants.

•  » » 6 days ago, # ^ |   +14 but literally how do you hack A or Blike, how the heck
 » 6 days ago, # | ← Rev. 2 →   +4 .
•  » » 6 days ago, # ^ |   +79 Glad to see that greys are well-acquainted with what Div. 1 is like.
 » 6 days ago, # |   0 The contest Is not bad but problem C is tricky a lot. I think It will be an 1800 rating or higher.
 » 6 days ago, # |   +2 Please tell me that 4th problem is not a space optimization dp problem.I suck at iterative dp.
•  » » 6 days ago, # ^ |   0 Yeah, I tried dp but it was too slow.
•  » » » 6 days ago, # ^ |   0 I thought it was dp, but I can't find the optimization to it.
•  » » 6 days ago, # ^ |   0 Hint:Use prefix sum to speed the dp up!
•  » » 6 days ago, # ^ | ← Rev. 3 →   0 Not entirely sure what you mean by space optimization, but I used DP with $n$ columns and 2 rows (representing many more rows, but only the previous row is needed for filling the current row), along with keeping track of when the first non-zero element of the column will be (so I don't waste time iterating over the elements before it).This does sound like I'm saving space, so it might fall under space optimization DP (again, idk what you actually mean by it), but my main objective was to save time.
•  » » » 6 days ago, # ^ |   +1 My aim is to solve this problem with recursive dp.The thing you did is space optimization which cannot be done in recursive dp i guess.
•  » » 6 days ago, # ^ | ← Rev. 7 →   +20 It's not very hard (it just suck that I didn't implement this on time). HintUse dynamic programming. Guys, it works,... it works. The barebone of the solutionLet's call $dp[i][j]$ the number of way to reach point $j$ if we were to do the $ith$ move, which is to say, move that is divisible by $(k + i)$. Because we could reach point $j$ if we go from point $j - (k + i) * 1, j - (k + i) * 2,...$ Therefore, the number of way we could reach point $j$ by the $ith$ move is the sum of the number of way we could reach point $j - (k + i) * 1, j - (k + i) * 2,...$ by the $(i-1)th$ move. So, we have this formula: $dp[i][j] = dp[i-1][j - (k + i) * 1] + dp[i-1][j - (k + i) * 2] + dp[i-1][j - (k + i) * 3] + ...$ The barebone are there. Time complexity: Around $O(n^2 * \sqrt{n})$. Implementing the naive solutionWe then need to know how big the $dp$ table is. It is obvious that $j$ ranges from $1$ to $n$, and $i$ is the biggest integer such that $k + (k+1) + (k+2) + ... + (k+i) <= n$. ProofIf the sum was larger, it would be redundant anyway, since we would never reach n because we overshot. For example, for the testcase: "8 1", we only need to calculate $j$ from $1$ to $3$, since if $j = 4$, the lowest we can go is $1 + 2 + 3 + 4 = 10 > 8$, so going beyond $3$ would be redundant.And there you go, just create a table of size $i * n$, and calculate everything iteratively from top-down (you can use memoization if you want, but it would be hard to optimize). Then, the number of ways to reach the $jth$ point would be the sum of the number of ways to reach the $jth$ point by the $1st, 2nd, 3rd, ..., ith$ move, which is to say, the sum of every value in the $jth$ column of the $dp$ table. Space complexity: $O(n * \sqrt{n})$. Speed optimizationHowever, the above naive solution too slow, since we are calculating the sum of dp every time. So we want to optimize this solution. Take a look at these two number: $dp[i][j]$ and $dp[i][j - (k + i)]$. You see, $dp[i][j - (k + i)] = dp[i-1][j - (k + i) * 2] + dp[i-1][j - (k + i) * 3] + ...$ And: $dp[i][j] = dp[i-1][j - (k + i) * 1] + dp[i-1][j - (k + i) * 2] + dp[i-1][j - (k + i) * 3] + ...$ $= dp[i-1][j - (k + i) * 1] + (dp[i-1][j - (k + i) * 2] + dp[i-1][j - (k + i) * 3] + ...)$ $= dp[i][j - (k + i)] + dp[i-1][j - (k + i)]$And vola! We have drastically reduced the complexity down to $O(n * \sqrt{n})$, which would run comfortably with the stated constraint (Edit: It wouldn't) Space optimizationThe solution seems pretty reasonable now, however, if you were to submit it, you would get "Memory Limit Exceeded", since the space complexity is $O(n * \sqrt{n})$, therefore, we want to optimize space on this dp table. Let's take a look at our dp formula: You see, we only need the value of the row right before us, and the value of the current row. Therefore, we don't even need to create the entire dp table! We only need to use two array to calculate each other. Edit: When the test cases got updated, I got TLE, then I resubmitted the code, then got AC. I guess because the constraint was so tight that it just comes down to being lucky :<< (My solution ran in 1949ms, very close to the constraint of 2000ms). Code (failed): 167051557. Code (passed): 167085973
•  » » » 6 days ago, # ^ |   0 MemeStop learning useless algorithms, go and solve some problems, learn how to use dynamic_programming.
•  » » » » 6 days ago, # ^ |   0 agreed
•  » » » 6 days ago, # ^ | ← Rev. 2 →   +1 "We have drastically reduced the complexity down to O(n∗n−−√), which would run comfortably with the stated constraint"Your submission also got TLE! But really good mini editorial other than that
•  » » » » 5 days ago, # ^ | ← Rev. 3 →   0 It's kinda random. I resubmitted the code and it got Accepted. The run time was like 1949ms, very close, so I must admit, not very comfortable lol (I don't really know why, $O(n * \sqrt{n})$ complexity usually run in 300ms, so seeing my solution getting up to 1900ms is kinda strange).Btw I got green yay. Code: 167085973
 » 6 days ago, # |   +18 i hate edu rounds always the same fucking story.
•  » » 6 days ago, # ^ |   0 bro im so agree with you
•  » » » 6 days ago, # ^ | ← Rev. 2 →   -7 ofc bro....this is real waste of contest...i have stopped giving edu rounds from my main account. It is such a waste of rating and time.
•  » » 5 days ago, # ^ |   +4 No contest is "too difficult" everyone is in the same conditions than you, so if you are better than then, no matter how difficult the contest is you are gonna raise your rating
 » 6 days ago, # |   +2 How to solve $C$?
•  » » 6 days ago, # ^ | ← Rev. 3 →   +3 There is only a fairly simple pattern of movement possible, because each cell must not be entered more than once.This is, we go right covering both rows until some col, then got right in the current row to the end, then left back to the col in the other row.All of this can be precalculated with prefix sums, and min/max operations.Of course all of this is very off-by-one error prone. And actually, I am still not sure about the meaning of:"The robot can only move into a cell (i,j) if at least ai,j seconds have passed before the move."If a[i][j]==x, can we enter at x, or at x+1?
•  » » » 6 days ago, # ^ |   0 why the ans of this is 5 3 0 5 0 0 0 0And the ans of this is 17? dose it means robot can only go to another position until 11 seconds past? 4 0 10 10 10 10 10 10 10
•  » » » » 6 days ago, # ^ |   0 The robot enters cell[0][0] at time 0, and each other cell earliest at a[i][j]+1.
 » 6 days ago, # |   +2 How to do D?
•  » » 6 days ago, # ^ |   +5 First I wrote a $O(\sqrt{n} \cdot n \cdot \log n)$ DP, thinking it may pass, but it's TLE. Then I realized there is an optimization to get rid of the $\log n$ part.
•  » » » 6 days ago, # ^ |   +1 I made the same mistake at first :) "Naive" dp is actually $O(n^2 \log n)$.
•  » » » 6 days ago, # ^ |   0 same, but i fucked up in prefix sums speed-up probably due to pressure
•  » » » 6 days ago, # ^ |   0 I also wrote the same DP and hope it passes :(
•  » » 6 days ago, # ^ |   +20 We can calculate $dp[i][j]$ — number of way to get $j$ in $i$ moves. Then for $x = 1$ $dp[1][j] = 1, dp[2][j] = dp[1][j - 2] + dp[1][j - 4] + dp[1][j - 6] + \dots, dp[i][j] = dp[i - 1][j - i] + dp[i - 1][j - 2i] + \dots, dp[i][j] = dp[i - 1][j - i] + dp[i][j - i]$ (try to understand, why last correct). This is a quadratic dp. But look: if we done $i$ move, our answer is at least $1 + 2 + \dots + i = O(i^2)$. This means, that the first dimension of array is $O(\sqrt{n})$. I brough 800. Also, if you try to declare the whole array, you will get $MLE$. Instead, declare only two rows, calculate next, and delete previous.
•  » » » 6 days ago, # ^ |   0 Thank you!
•  » » 6 days ago, # ^ | ← Rev. 2 →   0 I used DP, where $dp[i][j]$ represents the number of ways to reach $j$ while using at least one $(k + i)$ step, but no larger steps. Then $dp[i][j] = dp[i][j - (k + i)] + dp[i - 1][j - (k + i)]$. To save space, I only maintained two rows, since each row only depends on the previous row. To save time, I also kept track of what the first non-zero element of each column will be, so I don't iterate over the elements on the left (which I know are 0).
•  » » 6 days ago, # ^ |   +8 Use dp.It is easy to see the steps must be not big,about $\sqrt{n}$.Set $f_{i,j}$ as the answer of $i$ steps reach $j$.$f_{i,j}=\sum_{l=1}^{j-1} f_l*[(j-l) \mod (k+i-1) == 0]$Then we can use rolling arrays to optimize the memory and use prefix sum to optimize the time.Then it is a $O(n\sqrt{n})$ solution.Code: 166958668
 » 6 days ago, # | ← Rev. 3 →   +114 What I did in the contest: read A A done read B B done read C read D read E welcome to osu! Click the circle!
•  » » 6 days ago, # ^ |   +1 Same, except that I slept instead of playing Osu
 » 6 days ago, # |   -11 speedforces
•  » » 6 days ago, # ^ |   0 With respect, will you please explain what does 'speedforces' mean? I see this term a lot. But I don't know what it means.
•  » » » 6 days ago, # ^ |   0 This comment explains it.
•  » » » 6 days ago, # ^ |   0 it means, the first x problems were too easy and the last x problems(usually 2<=x<=4) were too hard leading to a lot of people having to get separated in rankings by total penalty taken to solve x problems. This is really annoying for people who are stronger but solve problems slower but very nice for weaker speed-solvers.
 » 6 days ago, # |   -16 This is why i hate speedforce i got a wrong submission on A than due to this i complete A and B in 24 minutes due to this currently my rank is over 7K.
 » 6 days ago, # |   0 D was stars and bars ? ??
•  » » 6 days ago, # ^ | ← Rev. 2 →   0 I solved it using dp. DPij means the number of sets such that the last number is i and the last permormed operation was with k' = k + j. Then ans[i] is the sum of DPij over all j. But if you do this naively the solution will run in O(n^2). Think how to optimize this dp to run in O(n * sqrt(n)).
 » 6 days ago, # |   -16 You know the contest is trash when you even tried to attempt F during the round
 » 6 days ago, # |   0 How to solve C and D?
 » 6 days ago, # |   +4 This educational contest seems too spartan for me...
 » 6 days ago, # |   -59 i think awoo , adedalic ,BledDest are out of ideas. They should probably rest and give problem setting and testing to some other guys.
•  » » 6 days ago, # ^ |   -27 That's what I was thinkiiinng! Great to finally find some support <3
 » 6 days ago, # |   0 Speedforces :)
 » 6 days ago, # |   0 For question C, aren't there only 3 possible paths? One is clockwise, one is counterclockwise, one is zigzag. I tried all three paths but it didn't work? Please help
•  » » 6 days ago, # ^ |   +1 Zig-zag too consists of some other paths like when you choose to complete all columns of a row first!
•  » » » 6 days ago, # ^ |   0 That would be a difficult implementation
•  » » » » 6 days ago, # ^ |   0 This problem is about finding out when you need to switch from zig zag to another pattern.
•  » » 6 days ago, # ^ |   0 It can be zigzag, then a big turn.
•  » » 6 days ago, # ^ |   +8 You can do a little bit of zigzag at the beginning and then clockwise or counterclockwise
•  » » 6 days ago, # ^ |   +3 There's more than 3. You have a prefix of zigzag moves, and then remaining clockwise or counterclockwise. The choice is where you stop zigzagging.
•  » » 6 days ago, # ^ |   0 zigzag + clock or counter?
•  » » 6 days ago, # ^ |   0 you should check all possible ways like that: start and go clockwiseX---| <--|down and counterclockwiseX<--|X --|again up and clockwiseXX -|XX<-|and so on
•  » » 6 days ago, # ^ |   0 I also thought that. But the number of solves is to little for it to be that easy.
•  » » 6 days ago, # ^ |   0 During the zigzag, you can start a clockwise or counterclockwise path at any point.
•  » » 6 days ago, # ^ |   0 To be completely honest, I don't possibly see how they would think this is a Div2C. In my opinion, it would at least be a Div2D, or even a E for an educational round.
•  » » 6 days ago, # ^ |   0 I also thought this way and wrote kinda naive approach and with lot of lines of code..Your text to link here...
•  » » 6 days ago, # ^ |   0 Maybe Zigzag till some index and later either cw or acw. I couldn't implement it tho :(
 » 6 days ago, # |   +149 wow
•  » » 6 days ago, # ^ |   +52 Great fortune indeed
•  » » 6 days ago, # ^ |   +3
•  » » 6 days ago, # ^ |   +16 The moments why we cpers like cp....
 » 6 days ago, # |   0 Any pointers for D?My potato brain can only think of the most naive solution
 » 6 days ago, # |   0 I thought I will start from problem C and do backword. contest got over even then i was not able to solve c. why they give such unbalance questions in a contest??
 » 6 days ago, # |   +75 F is a VERY VERY VERY standard stirling problem and has occurred in codeforces before. And I don't know the point in the strict time limit that $O(Tklog(998244353))$ can't pass. And as a master, I don't know how to solve C. C is too difficult.
 » 6 days ago, # |   +2 So it's called speedforces because for most of the contestants the ratings depend on how fast they solve the first few questions, right?First time taking part in such an unusual round. I failed to solve D but I find it very interesting, though.
 » 6 days ago, # |   +83 I think E is much harder than F.
 » 6 days ago, # |   +2 If they made D have lower constraints and then swap C and D, the contest could have been more balanced. The idea for D wasn't too difficult but everyone was getting TLE because it was so hard to optimize past O(N^2).
 » 6 days ago, # |   0 I think that would be a good contest if authors had split problems C and D into 2 parts with better restrictions. Optimizing C and D by time + memory to get AC for 2 hours is not fun (and I still was not able to get AC on either of them).
 » 6 days ago, # | ← Rev. 2 →   0 [Deleted]
•  » » 6 days ago, # ^ |   0 Not true, your path consists of a prefix of zigzags, followed by a suffix of the 2 straight lines. So there are more than 3 possible paths.
•  » » » 6 days ago, # ^ |   0 Yeah, just realised
•  » » 6 days ago, # ^ |   0 The robot can zigzag for a few columns and then go clockwise/anticlockwise.
 » 6 days ago, # | ← Rev. 6 →   +11 Why couldn't the Memory Limit for D be 512 mb? Seemed like a deliberate attempt to force the participants to ONLY come up with some specific obscure logic.
 » 6 days ago, # |   0 I did have some thoughts on C. I think we should go zigzag column by column on a prefix then do a round trip on suffix. But i don't know how to calculate the time needed for the suffix efficiently.
 » 6 days ago, # |   0 Can someone find a counter test for this WA 5 solution for E? Thanks. 167008625I clam that the order in which swaps are performed doesn't matter, so I calculate the solution for all the combinations of first 10 bits, then I bruteforce update the remaining ones. Is this ok approach?
•  » » 6 days ago, # ^ |   +1 Take a look at Ticket 15984 from CF Stress for a counter example.
 » 6 days ago, # |   +17 D was absolute best!. Couldn't solve it but enjoyed thinking about it. Same for C.
 » 6 days ago, # |   0 Any one though of solving C using DFS where every time we choose the minimum neighbor and add the just visited neighbor + 1 to the answer ?
•  » » 6 days ago, # ^ |   0 Anytime you decide to pick the neighbour on the right, you'll have to traverse the grid either clockwise or counter-clockwise in order to visit all indexes in the grid. Seems like more of a DP problem. Zig-Zag till a certain index Clockwise / Counter-Clockwise
•  » » 6 days ago, # ^ | ← Rev. 3 →   0 Dfs backtracks, whereas in the problem you are not allowed to visit any cell twice or more.
 » 6 days ago, # |   +14 can someone tell me why n * sqrt(n) in D doesn't pass? I made linear memory solution (or almost..) but it TLEs.. how...
•  » » 6 days ago, # ^ |   0 It should pass, but with proper realisation
•  » » 6 days ago, # ^ |   0 It has to pass, but yes, the limits are very strict.Also, it seems, that the whole array is bigger, than memory limit. I instead used only two rows.
•  » » » 6 days ago, # ^ |   0 at least i came up with the idea, though it isn't too hard...
•  » » 6 days ago, # ^ |   0 probably because of the log factor of the std::map.
•  » » » 6 days ago, # ^ |   0 i tried everything: unordered_map with custom hash function, simple vector (but it caused MLE)...
•  » » 6 days ago, # ^ |   0 I'm in the same situation as you.The time limit is too tight. 167005425
 » 6 days ago, # |   0 Speedforces
 » 6 days ago, # |   +6 I had major connection problems during the contest, which only affected codeforces.Am I the only one in this case ?
 » 6 days ago, # |   +5 Hardforces
 » 6 days ago, # |   +56 in C a[0][0] = -1 removes all chaos in mind
 » 6 days ago, # | ← Rev. 4 →   +69 My opinions on the problemset: A: Involved a bit of thinking, but alright B: Easier than A imo C: Very annoying for C, but if you see the zigzag pattern and a bit of suffix maximums (clockwise, counterclockwise), it's doable D: Easier than C. $O(N\sqrt{N})$ DP knowing that the maximum number of steps is bounded to $O(\sqrt{N})$ from $1+2+3+...+k = \frac{k(k+1)}{2}$ E: I like this problem. A bit of thinking made me realize it is similar to a segment tree and in each node we store $2^i$ values for each bitmask when the height of the node is i. Solid. F: Didn't solve it, but I came up with a $O(k^2)$ using the fact that the sum of $F^k$ is equivalent to the number of $k$-tuples. I will try to upsolve it soon.EDIT: I upsolved F. I solved it using stirling number of the second kind + counting ordered k-tuples. My solution runs in $O(Tk + MAXK^2)$, where the $MAXK^2$ is from pre-calculating the stirling numbers.
•  » » 6 days ago, # ^ |   +6 how did you exactly solve D in O(n * sqrt(n))? I did also notice that maximum number of steps is 632, which is close to sqrt(n), but my solution tles, though i've optimized it a lot
•  » » » 6 days ago, # ^ |   +6 Tight time limits. I got TLE for three times.
•  » » » 6 days ago, # ^ |   +17 Oh I think for each step, you should disregard the $dp_i$ values for $i$ values that are below the possible minimum value that can be achieved.
•  » » 6 days ago, # ^ |   +3 For A you wrote it like it shouldn't contain any thinking.
•  » » » 6 days ago, # ^ |   0 Sorry if I sounded like that, what I meant was I was kinda surprised how B felt easier than A
•  » » » 6 days ago, # ^ |   +2 I think it shouldn't.
•  » » 6 days ago, # ^ |   +10 if you liked E:1671E - Preorder1654F - Minimal String Xoration
•  » » » 6 days ago, # ^ |   +21 Also consider 1553H - XOR and Distance.
•  » » » » 6 days ago, # ^ |   +3 Hi haters, hi bots
•  » » » » » 6 days ago, # ^ |   +5 Hey, I really liked your implementation on E!
•  » » 6 days ago, # ^ |   0 The stucking part was finding the values for suffix
•  » » 5 days ago, # ^ |   0 How to solve F? What is the relationship between this problem and Stirling number?
•  » » » 5 days ago, # ^ | ← Rev. 2 →   +8 Sum of F^k is essentially the number of occurrences of all possible ordered k-tuples of indices that have an odd-numbered ball (Errichto had a blog about this Link. So, this can be calculated by iterating over the number of distinct indices that show up in the k-tuples. We can think of the number of k-tuples with $j$ distinct indices as an ordered integer partition of 1..k (think of putting 1 to k in $j$ boxes labelled with the indices), so for a set of $j$ distinct indices, we have $S(k, j)*j!$ ways of doing it. Note that this does not address the rest of the problem, so now we have to consider the number of ways of selecting j indices from 1..n, and filling those $j$ balls with odd integers, and the rest $(m-j)$ with even integers. The formula we get is similar to binomial theorem: $\sum_{j=1}^{k} S(k,j)j! (\sum_{i=0}^{n}{n \choose i}{i \choose j}x^{i}(m-x)^{n-i})$ which can be rewritten as $\sum_{j=1}^{k} S(k,j) (\sum_{i=0}^{n}i(i-1)...(i-(j-1)){n \choose i}x^i(m-x)^{n-i})$ We can differentiate a few times to derive the equations for the second summand (ex. $\sum_{i=0}^{n} i {n \choose i} x^{i}(m-x)^{n-i} = nm^{n-1}x$, where $x$ is the number of odd integers between $[1, m]$) This should give a nice clean $O(k)$ solution per testcase. (Don't do modulo division $k$ times as that would exceed TL)
 » 6 days ago, # |   0 My worst performance in an edu round :/
•  » » 6 days ago, # ^ |   0 Same, ig
 » 6 days ago, # |   +4 C and D were too good for me. I cant solve too good questions.
 » 6 days ago, # |   +1 the contest was of only 10 minutes for me :( , when I saw question C I closed tab
 » 6 days ago, # |   +16 I Solve D in 20min, but could not solve C for the whole contest.I think they should swap C and D, D is a too standard dp problem...
•  » » 6 days ago, # ^ |   0 I knew how to solve C two minutes after reading it, but did not find any idea how to solve D in less than O(n^2)
•  » » » 6 days ago, # ^ | ← Rev. 6 →   +1 uh, maybe you just forgot that you solution is not $O(n^2)$ but $O(n\sqrt{n})$let $dp(i,j)$ be the ways from $1$ to $i$ by using $j$ steps, you could find that $\sum\limits_{x = 1}^{k}x = \dfrac{k(k+1)}{2} \le n$, that means $k\le\sqrt{n}$, $k \not = n$, so your solution might be $O(nk) = O(n \sqrt{n})$.Initially, I was thinking about how to optimize my solution to $O(n \log n)$, but when I realize this fact, I started to write the $O(n\sqrt{n})$ solution.p.s. you can find that all $dp(...,j)$ are rely on $dp(...,j - 1)$, so you can use scrolling array to optimize the memory :)p.p.s : this is my simple implementation.
 » 6 days ago, # |   +3 C is too hard for div. 2
•  » » 5 days ago, # ^ |   0 Yes i'm agree with you!!!!!!!
 » 6 days ago, # |   +68 Me After Solving A & B :')
 » 6 days ago, # |   0
 » 6 days ago, # |   0 D is a great problem, I enjoyed it!Happily I started solving it early enoughAlthough I wasted an attempt thinking 305*305 > 2*2e5... silly me
 » 6 days ago, # |   +1 How to solve D?
•  » » 6 days ago, # ^ |   +1 My solution: let's say that every time we add something, K increases by 1 and we have to add a number divisible by K next turn.at first notice that K can increase up to 2*(square root of N), since if it becomes a bigger number than this, the sum of added numbers to the coordinate will be >= 1 + 2 + ... + 2*(sqrt(n)) , which is bigger than N.So, for each number i from 1 to N and for all k <= x <= 2*sqrt(n) we can check if we can reach i when K will become x:for that for each k <= x <= k+ 2*sqrt(N) and for each 1 <= i <= n we will check how many sums of numbers from k to x can be equal i, this can be done by dp, let dp[i][x-k] be just that. Answer for each 1 <=i <=n is a sum of all dp[i][x-k] (k <= x <= k+ 2*sqrt(N) (mod 998244353).
 » 6 days ago, # |   +10 It take multiple contest to regain rating and reach to certain point but just one ugly contests like this are enough to discard all your hardwork and progress . Super disappointed . Problem C sucks .
 » 6 days ago, # |   +17 Problems were really good but the round was extremely unbalanced
 » 6 days ago, # |   0 E seems like segment tree application，but how to get maximum sum of the subarray By segment tree?
•  » » 6 days ago, # ^ |   0 Store the prefix maximum, suffix maximum, total sum, and the maximum within the subarray for each node. Though you need to store more nodes than a normal segment tree
•  » » » 6 days ago, # ^ |   0 That was what I thought，but I get stuck in tree update process, if k is zero, it means that at least half of the nodes of the tree need further update, and I thought it cost too much time
 » 6 days ago, # |   +2 time limit for D should be higher
 » 6 days ago, # |   +38
•  » » 6 days ago, # ^ |   +12 XD same!
 » 6 days ago, # |   +9 Anyone solved D with Python? I figured it out quickly but it seems O(N√N) is too much for Python. Good problem though.
•  » » 6 days ago, # ^ |   0 I didn't use Python, but I got 296ms with C++ (the limit is 2 seconds), so I very much doubt there is any language disadvantage. However, from what I gathered from other comments, filling up every element of every row in the DP would exceed the time limit (even in C++). Instead, you should keep track of what is the first non-zero column of each row (sum of each type of step so far), and don't waste time iterating over these known 0 values on the left. Also, it seems your verdict was actually memory limit exceeded. You only need to maintain two rows of DP, since each row depends only on the previous row (and the earlier elements of its own row).
•  » » » 6 days ago, # ^ |   0 Thanks for your reply. I tried DP but it cost 40 seconds on case 200000 1 on my computer. Eventually, I found that it can pass the case using Pypy64 on CF.
•  » » » » 6 days ago, # ^ | ← Rev. 2 →   0 I rewrote your code in a way that is working: here.I don't know how I could write this in a pythonic way though.
 » 6 days ago, # |   +10 Fool me once shame on you, lied to me two times I'm stupid
 » 6 days ago, # |   +47 Why so many bad comments? I didn't have time to look at E and F at all, but problems A ~ D all had their own merits. It was a good Edu round as always.
•  » » 6 days ago, # ^ |   +43 This tends to be the result of unbalanced problem sets rather than bad problems per se.In this case, if you were below the level required for problem C and/or D (an overwhelming majority of participants), then all that differentiates you is the combined time for A and B, which are trivial questions. Therefore the rankings from around 1500 below are more arbitrary than they should be, and people are upset that this adversely affects their ratings.I understand it perfectly well, although I'm quite sure that no problem setter ever sets out with the intention of upsetting people or to create an unbalanced problem set and it's also important to remember that.
 » 6 days ago, # |   +20 The problems themselves were good individually, but I would really appreciate a problem between B and C. This C is probably like 1900 (judging by the number of solves during the contest), so we have like 700 gap between B and C.
•  » » 6 days ago, # ^ |   0 It was more like 2100 honestly. 1900 problems usually get 1500-2000 solves in a contest, not 1000
 » 6 days ago, # |   0 The difficulty of the problems of this round was very unbalanced in my opinion. C and D is significantly harder than A and B :(( I can only complete problem A, B, and nearly done problem D (I'd be able to solve it if the contest was 5 minutes longer) :<<
 » 6 days ago, # |   +29 Problem setters in a nutshell:
 » 6 days ago, # | ← Rev. 2 →   -14 I should skip edu rounds. :(
 » 6 days ago, # |   0 with each educational round, I want to get out of codeforces and no longer comes lol)
 » 6 days ago, # |   +56 in contest : oh i took so much time solving A & B , but its okay i have enough time to solve cproblem c :
 » 6 days ago, # |   0 how does the formula (n+2)/3 comes in problem A
•  » » 6 days ago, # ^ |   +3 Try finding answers for n:(1 to 10) using pen and copy. You will get it.
•  » » 6 days ago, # ^ |   +4 That's wrong for n = 1, right?
•  » » » 6 days ago, # ^ |   0 The only corner case
•  » » » 6 days ago, # ^ |   0 Yes. Usually for $n=1$ you will need to write something like: if(n==1) { printf("something\n"); return; } 
•  » » 6 days ago, # ^ |   0 If we treat n is 1 as an exception (requires 2 moves for obvious reasons), then we can achieve any other number in ceil(n/3) operations*. ceil(n/3) = (n + 2)/3.*Proof: it is trivial that ceil(n/3) is a lower bound, since we can move at most 3 steps each time. Therefore it suffices to show that it is attainable. If n is a multiple of 3, then move entirely in blocks of 3. Otherwise, move in blocks of 3 except for one 2-move if n % 3 = 2 or two 2-moves if n % 3 = 1.
•  » » » 6 days ago, # ^ |   0 I wrote this function but got wrong answer int helper() { int n; cin >> n; if (n == 1) return 2; else return ceil(n * 1.0 / 3); } Can anyone please tell me .What is wrong in this. I have tested it locally with accepted solutions.It works fine.
•  » » » » 6 days ago, # ^ |   0 Got it now. Ceil return floating point number. I was printing ceil(n * 1.0 / 3).That's why got wrong answer
•  » » » 6 days ago, # ^ | ← Rev. 2 →   0 For any number $n$ and any nonzero number $k$ this is true: $ceil(n÷k)=(n+k-1)÷k$.
•  » » 6 days ago, # ^ | ← Rev. 3 →   0 you have 4 cases in this problem 1 : n % 3 == 0 then the optimal answer is using only 3s number of times = n / 32: n % 3 == 2 then the optimal answer is using ( n / 3 ) 3s and just 1 two3: n % 3 == 1 the the optimal answer is removing 1 three from (n/3) 3s and use (2) 2s instead of it (3+1 = 4 = 2 + 2)4: if n == 1 so answer is 2 so for case 2 and 3 the answer is n/3 + 1 , this formula = ceil( n / 3) (which include the answer for the first three cases)
•  » » 6 days ago, # ^ |   0 Actually you don't need this observation to solve this problem. Intuitively, it seems that for n <= 10, operations will be some strange. But for n > 10, we should extract 3 only until it is less than 10 then add the answer for remaining number. See my submission for more details: https://codeforces.com/contest/1716/submission/166940767
•  » » » 6 days ago, # ^ |   0 The only 'strange' value is n = 1. Everything else conforms. You may not realise it but you're actually applying the same logic as everyone else for n > 10, and you've unnecessarily hand-solved for n <= 10. Obviously your method is perfectly valid, but it does nonetheless rely on the same critical observation of using 'mostly' 3-moves.
•  » » » » 6 days ago, # ^ | ← Rev. 2 →   0 using a number-theoretic approach, you could have used the fact that you can indeed construct any number $2$ and above with sums of $2$-s and $3$-s. (This is also provable by induction if any of you might wonder)
•  » » 6 days ago, # ^ |   0 Interesting, I came up with x/3 if x mod 3 is 0, x / 3 + 1 otherwise.
 » 6 days ago, # |   +1 Educational Codeforces Round 133:last 13 minutes for me.:(
 » 6 days ago, # |   0 in problem D, TLE on test 6, Submission link: https://codeforces.com/contest/1716/submission/167016276 since siz variable is <= 2*sqrt(n), size of freq would be O(N). Also for each i from 1 to N, i am iterating through 1 to siz. The time complexity would be O(N*sqrt(N)). Where am I wrong?
•  » » 6 days ago, # ^ | ← Rev. 2 →   0 Could just be strict time limits. siz can go up to 900 when n=200000, when only 650 is needed. Your loop also has a lot of modulo operations, which are known to slow runtime by several factors at times.
•  » » » 6 days ago, # ^ |   0 Even after changing it to 650, I am getting TLE. What changes should I make to get AC? submission link: https://codeforces.com/contest/1716/submission/167019605
•  » » » » 6 days ago, # ^ |   0 Your code is barely over 2s with C++20, I think with some optimizations it could probably pass. But the intended approach I believe is quite different from yours, which is able to skip a lot of states and doesn't need modulo. See the top scorer submissions for examples.
•  » » 6 days ago, # ^ |   0 You can run case"200000 1" locally.If it spends 3-8s,that's the reason if tight time limit. I'm in the same situation as you.167005425
 » 6 days ago, # |   0 where can i find the link for editorials today's C was very hard i was not able to solve it can any one tell me the approach?
 » 6 days ago, # |   +4 Only thing common between problem C and my crush is that they are both out of my league :)
•  » » 6 days ago, # ^ |   +4 And also I never get over them
 » 6 days ago, # |   +18 After some more thinking about C I am somewhat disappointed.Obviously this is an implementation problem with a lot of difficulties/traps for off-by-one errors, like every time we need to create several prefix sum/max arrays.But here the definition "The robot can only move into a cell (i,j) if at least a[i][j] seconds have passed before the move." adds another level of trap, since that can be understood wrong. Now, an hour after the contest I am sure that we can enter cell[i][j] at a[i][j]+1 earliest, not at a[i][j].Such inaccuracy in the text on an off-by-one problem is annoying.
 » 6 days ago, # |   0 12k people looking at C & D be like: Its time for me to die
 » 6 days ago, # |   0 What math knowledge was needed for F? It seemed pretty interesting.
•  » » 6 days ago, # ^ |   +8 Stirling number and its combinatoric meaning.
•  » » » 6 days ago, # ^ | ← Rev. 2 →   +5 a little differentiation with binomial will do the trick too
 » 6 days ago, # |   +1 The time limit is too tight！ My O(n*sqrt(n)) method spends 6s locally in case"200000 1" and it gets TLE. 166994559 The implementation is a bit more complex than std but still O(n*sqrt(n)). Is anyone in the same situation as me？
•  » » 6 days ago, # ^ |   0
•  » » 6 days ago, # ^ |   +3 I got AC from an O(n*sqrt(n)) solution if you're interested 166988623 (AC)166980959 (literally the exact same thing but TLE because mod operation is apparently a lot more costly than an if statement)
 » 6 days ago, # |   +7 The contest got over for me in 8 minutes :")
 » 6 days ago, # |   -15 You can now get the smallest counter example for your failing submissions on cfstress.com. Contest ID: 1716Disclaimer: Content is behind a paywall. However, if you can't purchase a subscription, you can reply to my comment ( only till the next 24 hours ) with the problem index and link to your submission, and I'll share the failing test case.
•  » » 6 days ago, # ^ |   0 Please made cfstress free I can't afford it .
•  » » » 6 days ago, # ^ |   +3 Honestly just go watch Errichto's video on stress-testing and you don't have to pay for anything.
 » 6 days ago, # |   0 I am just wondering Those who only know dp problem through Recursion . How to do d with recursive dp approach .
 » 6 days ago, # | ← Rev. 3 →   +6 Who else also knew what to do for C, but either:Didnt feel like impl, so went to D Tried impl but realised it was impl heavy then went to D <- MeRage quit <- Also me
•  » » 6 days ago, # ^ |   0 Tried impl -> Error -> Tried impl -> Error -> Tried impl -> Error :)
 » 6 days ago, # |   +118
 » 6 days ago, # |   +51
 » 6 days ago, # |   +14 I made a video Solutions for A-D in case people are interested.
 » 6 days ago, # |   0 I like problem E. My approach comes from 1654F, which is also a nice problem.
 » 6 days ago, # |   0 https://codeforces.com/contest/1706/problem/CI found today's problem C like this problem. For some states we have two options, get one option in o(1) with pre-calculation and take the minimum of two options.
 » 6 days ago, # |   +1 In problem C, how are present states of the clockwise and anti-clockwise traversals stored and updated as one incrementally moves along the zig-zag path? I was able to get this far during the round, but still don't know how to implement it.
 » 6 days ago, # |   0 tfw you solved D but not C
 » 6 days ago, # | ← Rev. 2 →   0 My O(n * sqrt(n)) dp solution for D got TLE during the contest, but the same code without any modification passes when I change the compiler from GNU C++17 to GNU C++20.After some more submissions and testing, I've found out that GNU C++17 can run 2~3 times slower than GNU C++20. Is this something normal?
•  » » 6 days ago, # ^ |   +5 It's not because of the C++ version. It's because you were using 32-bit C++17, and 64-bit C++20.It runs fine if you use 64-bit C++17: 167026428
•  » » » 6 days ago, # ^ |   0 Thanks! I shouldve care more about those things..
•  » » 6 days ago, # ^ |   0 Yeah I was so shocked. I submitted SRSS_'s solution and it got TLE, but then I changed the compiler to the new version and it passed.
 » 6 days ago, # |   +5 hi Everyone . Newbie question . Where can i find the editorial for this round
•  » » 6 days ago, # ^ |   0 It is not released yet. It is usually released after the hacking phase is over. However, you can find different videos on Youtube that discuss the solutions. Here is one: https://www.youtube.com/watch?v=ppqurybgZrQ
 » 6 days ago, # |   0 I guess my submission for D is too slow just because of C#? I tried to optimised it as much as i can, should be $O(n\sqrt{n})$.
 » 6 days ago, # |   +7 F is the same as 1278F.
 » 6 days ago, # |   +20 Difficulty: C >> D > FEveryone who knows Stirling number can work out F. It's almost the same as 932E/1278F.But I'm stuck in C and haven't had a glimpse at F. Cheers! :(C itself is excellent, but its position...
 » 6 days ago, # |   +12 Me(Before the contest):Fine,let me try my best to become CM.Just 21 rating left.C:Thinking what?
•  » » 5 days ago, # ^ |   0 UPD:Finally I got +1 rating ! Yeah ! (But still 20 rating left . QAQ )Thanks to I_love_seele_forever for his 100+ successful hacking . ┏(≧▽≦)┛( And sorry to these 100+ bro , too . )
•  » » 5 days ago, # ^ |   0 so strong. sro sro sro XING_ginkiha orz orz orz. Only 1120 to LGM, good luck!!
 » 6 days ago, # |   0 At least Speedforces gave me more time to relaxAt least negative rating gave me more possibility for positive rating in next round:(
 » 6 days ago, # |   +26 D be like
 » 6 days ago, # |   0 Educational Contest isn't so difficult until I participate in this contest :)
•  » » 6 days ago, # ^ |   0 Please do all us a favor in the next one <3
 » 6 days ago, # |   0 Why so many downvotes? The problems themselves aren't bad, are they?
•  » » 6 days ago, # ^ | ← Rev. 2 →   0 Yeah.But their positions are.
 » 6 days ago, # |   +1 Educational Codeforces Round 133 (Rated for Div. 1)
 » 6 days ago, # | ← Rev. 2 →   +39 Can you please provide sample explanations for all problems next time? The statements, especially C and F, are easy to misread.
•  » » 6 days ago, # ^ |   0 quite agree.
 » 6 days ago, # | ← Rev. 3 →   0 Yeah, they are good problems but i'm retired.problem C is easy to think but not easy to write(maybe tedious), so i think it's the reason that this blogpost get so many downvotes.(There is almost no difference between participants at different levels, so downvotes are justified)problem E is a bit difficult but i can solve it myself(i'm retired) i think my solution to E is unique.(maybe i gave a NAIVE solution?) share to everyone:https://codeforces.com/contest/1716/submission/167000638i hope you can learn some methods in this code(i think it's interesting)
 » 6 days ago, # |   0 Well.. After two years I thought of participating again. Guess where I stumbled upon