### BigBag's blog

By BigBag, 4 years ago, translation, ,

Hi everyone!

Codeforces Round #373 (Div. 1 + Div. 2) will take place on 23 September 2016 at 16:05 MSK. Please note that the timing is unusual.

This time tasks for you were prepared by me (Matvey Aslandukov) and my brother _XuMuk_ (Andrew Aslandukov). It is our first codeforces round and we hope you'll enjoy it. We want to say special thanks to Seyaua (Ievgen Soboliev), alexfetisov (Alexandr Fetisov) and winger (Vladislav Isenbaev) for testing the problems, GlebsHP for his help with the contest preparation, and MikeMirzayanov for the excellent platforms Polygon and Codeforces.

Coincidentally, the date of the round falls on my birthday, so I am very happy that I can spend that day surrounded by our friendly community :)

There will be five problems and two hours to solve them. Traditionally, the scoring distribution will be announced later.

Good luck!

UPD1:

Scoring:

Div. 2 : 500 1000 1500 2250 2250

Div. 1 : 500 1250 1250 2000 2500

The problems are sorted by difficulty but as always it's recommended to read all the problems.

UPD2:

Contest complete! Thank you all for participating :)

Unfortunately, as noted Um_nik, many solutions of div.1 B task, including the author's, were incorrect. Now we are working on this problem. If we still manage to find the right solution and answers on pretests will be the same, the round may be rated. Otherwise, it will be unrated.

Thus final results significantly delayed. We apologize for the situation. If you have thought about the correct solution — write to us.

UPD3:

We made a decision to start system testing with the current solutions and tests. The question will be round either rated or not is still opened.

UPD4:

After considering different option and estimating their pros and cons, Codeforces team decided that the main factor to make a decision on whether the round should be rated or not is how much the bug affected the results.

In the second division, only two participants managed to implement the correct greedy algorithm for the original incorrect version of the problem D, thus we consider the effect of this problem on the final standing to be negligible. The contest for division two will be rated.

Things are very different for division one, as there were plenty submission to problem B and problems B and C took the most part of participants worktime during the contest. Assuming this fact we suppose that this bug affected the final results a lot and there is no way to consider its influence on each particular participant. As a result, the contest for division one will be unrated.

The only thing left to do is to apologize to the participants. We will do our best to avoid such situations in the future.

UPD5:

Congratulations to the winners!

Div.1:

Div.2:

• +557

 » 4 years ago, # |   +173 Happy birthday BigBag
•  » » 4 years ago, # ^ |   +2 Big like for your phrase! CF :our friendly commiunity :) and Big like for your reason of happiness! : I am very happy happy big birthday. ;)
•  » » » 4 years ago, # ^ | ← Rev. 2 →   -14 a unrated contest on your birthday! :D hope to see contests on next birthday of your life! :D
•  » » » » 4 years ago, # ^ |   0 how many times do you submit it?)
•  » » » » » 4 years ago, # ^ |   0 oh! there is a problem in judge! correct! :D
 » 4 years ago, # |   +13 Why is the timing unusual? Quite early for working day.
•  » » 4 years ago, # ^ |   +51 ah...For us is at 9:05 PM..It seems much better than 00:35 AM as usual……
 » 4 years ago, # |   -48 If it could be delayed it would be better
 » 4 years ago, # |   +23 I hope that this becomes the usual time, or at least please hold more contests at this time, so that my students can participate. The usual time 12:35am — 2:35am local time is too late for them.
•  » » 4 years ago, # ^ |   +8 I totally agree with your idea too. The usual time (1:35am — 3:35am) is definitely harsh time to participate for our country. I'll be really appreciated if there are more chances to join contests for other time-zone coders:)
•  » » » 4 years ago, # ^ |   +24 Obviously in such a situation, there simply cannot be a fixed time that suits everybody. What would you do in such a situation? Definitely set a time that suits a majority. Some people have to face the circumstances because of low participation from that area and different time zone.
•  » » » » 4 years ago, # ^ |   +27 You should rotate starting times, not pick a time that always screws the minority.
•  » » 4 years ago, # ^ |   -41 Agreed!. 11pm-1am... is too damn late :(
 » 4 years ago, # |   0 Duh, last contest was 6:35 AM for me and this is 6:05 AM, things are getting worse :P.
•  » » 4 years ago, # ^ |   0 for us in PT there is no love
 » 4 years ago, # |   +29 Contest will start at 20:05 UTC+7 in my area. Best time for me (y) . Happy Birthday, man!
 » 4 years ago, # |   0 on road again
 » 4 years ago, # |   +65 tomorrow is also my birthday,a good time of the contest,it will start at 21:05,at the end of birthday,i can enjoy the contest.thank you for preparing the contest.
•  » » 4 years ago, # ^ |   +7 Happy Birthday, byene :)
•  » » 4 years ago, # ^ |   +4 I hope, you'll get a lot of enjoy. Happy Birthday!!!
 » 4 years ago, # |   +11 Contest will start at 21:05 UTC+8 in my area.So I can spend at most 5 minutes on road.
 » 4 years ago, # |   +40 The only good thing of being a Syrian, is as much as the timing is unusual, It's always great in here :D
 » 4 years ago, # |   -9 Something is wrong with the registration. Number of registrants there and there are diferent. + my registration was cancelled.
•  » » 4 years ago, # ^ |   +1 I think you should reload both pages to get it fixed. It is OK!
 » 4 years ago, # |   -11 Happppy Birthday BigBag. All the good wishes for you
 » 4 years ago, # |   +14 Happy Birthday BigBag . Waiting for your dishes.! :)
•  » » 4 years ago, # ^ |   -35 This is Codeforces
•  » » » 4 years ago, # ^ | ← Rev. 4 →   -13 .
 » 4 years ago, # |   -16 Happy birthday.
 » 4 years ago, # |   +27 BigBag Many many happy returns of tomorrow like tomorrow! :)
 » 4 years ago, # | ← Rev. 2 →   -35 Many Happy returns of the day.
•  » » 4 years ago, # ^ | ← Rev. 2 →   -13 Wow, now even wishing someone is wrong too(go on don't be shy downvote this too).
 » 4 years ago, # |   +22 Double Comments post.
 » 4 years ago, # | ← Rev. 3 →   +8 Happy Birthday BigBag.
 » 4 years ago, # |   +43 Happy Birthday, BigBag!
 » 4 years ago, # |   -17 Happy Birthday Matvey Aslandukov[user:bigbag]!!!!!
 » 4 years ago, # |   -16 GLHF
 » 4 years ago, # |   0 Happy Birth Day, hope the problem will be amazing as your birthday gifts :D
 » 4 years ago, # |   +13 We want your birthday treat by easy problems to solve and good ratings. And Happy Birthday to you BigBag.
 » 4 years ago, # |   +12 As a Chinese student, late Codeforces round make my routine little bit hactic...Thank U so much for choosing such a nice time for the contest.. Hoping to gear some of my rating points and wish everyone a high rating~~ :) and happy birthday BigBag
 » 4 years ago, # |   0 happy birth day, bigbag
 » 4 years ago, # |   -6 Happy B'day.. BigBag
 » 4 years ago, # | ← Rev. 2 →   +2 HBD bigbag :)
 » 4 years ago, # |   +3 Happy Birthday Dude !!!
 » 4 years ago, # |   +7 Happy Birthday, BigBag! :)
 » 4 years ago, # |   +2 It is my birthday too Happy birthday to BigBag and me Wish everyone can have a good rating after the contest (Ps:The time is very good)
 » 4 years ago, # |   +2 Happy birthday :DWhere is the dishes ? :P :"D
 » 4 years ago, # |   +2 Great timing! Wish everyone many accepted solutions, and happy birthday BigBag :)
 » 4 years ago, # |   +10 You are advised to read all the problems :D
 » 4 years ago, # |   +13 Happy Birthday BigBag! :PSo where is the scoring distribution?
 » 4 years ago, # |   0 Do I get rated if I have registered for this contest, but I'm not able to participate due to unstable internet connection?
•  » » 4 years ago, # ^ |   0 If you didn't submit anything, then you rating is not affected.
 » 4 years ago, # |   +4 Problem A's pretests are so so weak!
 » 4 years ago, # |   +17 Why Q, why!
 » 4 years ago, # |   +21 submission in queue , it's been more than 5 minutes
•  » » 4 years ago, # ^ |   0 It seems the judge server is even down now...
•  » » 4 years ago, # ^ |   +16 it seems BigBag is celebrating his birthday right now
 » 4 years ago, # |   +15 What happened to the compiler? Submissions are in queue for almost 10 minutes already :(
 » 4 years ago, # |   +13 LOL I've been watching the Status page for >10 minutes and NOT A SINGLE QUEUE has been processed????? :)
 » 4 years ago, # |   +5 in queue for 10 min !!
•  » » 4 years ago, # ^ |   0 Same here!
•  » » 4 years ago, # ^ |   +1 its working now
 » 4 years ago, # |   -9 Thank you for weak pretest in Div2. A. It feels amazing to hack people :D :)
 » 4 years ago, # | ← Rev. 3 →   0 [del]In queue! What is wrong?[/del] It seems to be fixed, thanks.
 » 4 years ago, # | ← Rev. 2 →   +67 I have nothing against hacks on Codeforces, but when problems div2 A or B have so weak pretests, solving problems pales into insignificance. As I think, solving skill should matter more in final standings than hacking skill. So pretests for problem A shouldn't be as weak as we see.
•  » » 4 years ago, # ^ |   +17 I agree. It would be nice if the system had a limit of hacks on a specific problem, so people wouldn't climb the rank so high because of silly details.
•  » » » 4 years ago, # ^ |   +12 or a hack limit for each contestant, in my room the first guy had 19 hacks !!! and left no chance for others to hack :(
•  » » » » 4 years ago, # ^ |   +6 That's a great idea.because some people (like the guy in your room) gets 19 hacks and the solve A and take about 500 points that's 2400 it's like solving E at the start of the contest that's not fair to take 2400 points form only div2 A.that way the contests will be better and nobody will get to the top only from hacking.
•  » » » » » 4 years ago, # ^ |   +19 Maybe a reducing function of hack points with number of successful hacks for each problem...
 » 4 years ago, # |   +5 It is about 20 pages of submissions in queue now!!
 » 4 years ago, # |   +43 There is a mistake in the announcement. Problems are not sorted by difficulty :)
•  » » 4 years ago, # ^ |   +4 Needless to argue.
 » 4 years ago, # |   +11 BigBag's Birthday is a HACK day!!
 » 4 years ago, # | ← Rev. 2 →   +3 I had to resubmit 11 times in C until I noticed pretest 6 had really large number before . :/ rip 550 points
 » 4 years ago, # |   0 So many people solved Div.2 E. Weird, looks completely unsolvable to me :D
•  » » 4 years ago, # ^ | ← Rev. 2 →   +11 Div.2 E is a great problem. You can consider the well-known method to calculate large Fibonacci Numbers , i.e., Matrix multiplication with doubling acceleration.Let the first matrix being A, second matrix being B, then you will get f i by AB i.You can build a segment tree maintaining the matrix B (or matrix AB, as you like).When facing the update query, simple commit an interval update — multiplying B k to the corresponding interval of each segment tree node. Multiplying a single number into a certain interval is not a hard job, then multiplying a matrix into a certain interval will not be hard either. ( You should use lazy marking technique to make your amortized time complexity O(log(n))).When facing the sum query, simple extract the interval sum of matrix B (or simply AB, if you decided to maintain it rather than B) from segment tree and you are done.
•  » » » 4 years ago, # ^ |   +4 How do I use the lazy marking technique on a range? This matrix multiplication works only on single values, not sum of values, right?
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   +3 Hope this snippet helps.ls --> left son, rs --> right sonlz is the lazy mark, update ready to pass to son.t is the segment tree node saving matrix ABinit1(); is the function to put a matrix into identity matrix. void down(int rt){ lz[ls] = lz[ls] * lz[rt]; lz[rs] = lz[rs] * lz[rt]; t[ls] = t[ls] * lz[rt]; t[rs] = t[rs] * lz[rt]; lz[rt].init1(); } Segment tree is maintaining a sum of AB i, which is equivalent to the sum of f i (simply extract the [0][0] item of the matrix).Multiplying a matrix to such sum is okay due to the associative rule of matrix multiplication.
•  » » » » 4 years ago, # ^ |   0 Here is a good article, explaining segment tree, at codeforces
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   +23 Given that fib(a i) = A a i v where:You can use it this way:First, the sum of fib(a i) in a range [l, r] can be seen as: Now, fib(a i + x) is the same as (A a i + x)v, which is the same as fib(ai + x) = (A a i A x)vNow in order to add some value x to a range [l, r] :So, you can use lazy propagation storing the A x in each node of your segment tree, and pushing it to the children of each node when needed!
•  » » » » » 4 years ago, # ^ |   +5 Great explanation !
•  » » 4 years ago, # ^ |   0 You can use the following property of fibonacci numbers and this property can be used to solve the problem using segment tree with lazy propagation. Fib(x + y) = Fib(x + 1) * Fib(y) + Fib(y - 1) * Fib(x)
•  » » » 4 years ago, # ^ |   0 Can u share implementation please?
 » 4 years ago, # |   +24 DIV1 C is very well-known!
•  » » 4 years ago, # ^ |   +6 Was this Fibonacci property shifting F(m+n) = f(m+1)f(n) + f(m)(f(n-1)) used in Div2 E along with segment tree in O(n logn * logn) I had kind of idea but failed to implement in time.
•  » » » 4 years ago, # ^ |   0 Yep, exactly, consider the fibonacci matrix-vector multiplication:{sorry I don't know how to write in latex}([[1,1],[1,0]]^n)*[F(m+1),F(m)]=[[F(n+1),F(n)],[F(n),F(n-1)]]*[F(m+1),F(m)]=[F(m+n+1),F(m+n)]since this operator is linear you can use it to update any segment range (I'll proof it later).By the way, the optimal complexity is O(n*log(n)), in each query you can just compute the matrix expo once, and use it to update segment tree.
•  » » » 4 years ago, # ^ |   0 Yes. This was the property I was using. Successfully implemented it 7 minutes before the end. Idea was to store summation of F(a i) and summation of F(a i + 1) in segment tree. But Sublime didn't let me submit because it couldn't fucking detect +query(1,1,n,l,r);as a compilation error.
•  » » 4 years ago, # ^ |   0 Where did you know about it?
•  » » » 4 years ago, # ^ |   +3 I think it's subjective, for some people (including me) think this problem is well known, If you familiar with fibonacci, and multi data segmentree, for example this SPOJ-SEGSQRSS problem, then it's just a matter of coding skill (silly bug can hurt).
•  » » » » 4 years ago, # ^ |   0 No.. No.. Sorry for being not clear enough but it seemed that you get me wrong :))I just wanted to check if he learnt it from any books, tutorials... and if yes, then ask for recommendation :p
 » 4 years ago, # |   0 For B div1 problem, does O(nmlg) pass the pretests? is there any better solution?
•  » » 4 years ago, # ^ | ← Rev. 2 →   +5 I have I believe. I have no idea how to prove that it can run faster than that. See this
•  » » » 4 years ago, # ^ |   0 Now i understand my O(nmlg) solution can be easily implement in O(MTlg^2) that T is max(ti).
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   0 Are you sure? Because not all machines(with same values of t) will start working at same moment.
•  » » » » » 4 years ago, # ^ |   +3 the second lg is for that!save all times they starts working after that all n machines filled for each t, so you can understand easily by a binary search that how many copy they will make after T seconds.
•  » » » » 4 years ago, # ^ |   0 I don't think, that it will pass, my O(MTlog(ans)) works in 3s.
•  » » » » » 4 years ago, # ^ | ← Rev. 2 →   0 it is just: 2000 * 1000 * log2(1e13) * log2(2e5) ~ 2e9.4 seconds will be about 3e9/4e9.
•  » » » » » » 4 years ago, # ^ |   +3 You forgot about % and / operations, which are too heavy for 2e9
•  » » » » » 4 years ago, # ^ |   +5 I don't understand this. Many (Most, infact) of accepted solutions (.. so far) are NMlog(1e12) itself. But mine failed :(
•  » » » 4 years ago, # ^ | ← Rev. 2 →   0 Sad but true: I believe that mine works in O(nm), but it is too slow as the constant is quite big. I use nm divisions and O(nm) push_backs into vector and I have absolutely no idea how to optimize it. It works 6.5 seconds on my laptop on the max test.See this: 20865418
•  » » 4 years ago, # ^ |   0 I think that we can use Parallel Binary Search
 » 4 years ago, # |   +2 I feel like Div. 2 C had really weak pretests. I noticed my two submissions in queue were wrong before they even got judged and they were both pretests passed.
•  » » 4 years ago, # ^ |   0 Pretests were supposed to be weak. Otherwise how could we hack? :)
 » 4 years ago, # |   +10 I couldn't lock my submission for more than 10 minutes in the beginning of the contest. How was I supposed to compete against those who could do it? Russian screenshots
 » 4 years ago, # |   +5 Is C a segment tree with matrices? Couldn't make it pass till the end... First, I copied my matrix structure from my library and it got MLE #10. Then replaced it with my previously written code with vectors — TLE #11. Then replaced the vectors with arrays and boom — some strange big values on the example test :D :D
•  » » 4 years ago, # ^ |   +8 I used Binet's Formula and store the numbers as and directly use a segment tree. Unfortunately, it runs in 4.5s on pretests, so RIP. (and I failed some submissions because of a bug in my segment tree -_- )
•  » » » 4 years ago, # ^ |   0 Thanks, I knew my math knowledge is very poor! Hope you pass systest :)
•  » » » 4 years ago, # ^ | ← Rev. 2 →   0 I used matrices and slow segment tree, but made precomputations so for each exponentiation I needed only one multiplication. On random maxtests works 3.5s on my laptop.Also, you can reduce exponents modulo 2000000016.
•  » » » 4 years ago, # ^ |   0 Finally got it Accepted (I failed system tests :( )The change I needed was to store the value that I need to multiply with directly and exponentiating before updating the segment tree.
•  » » 4 years ago, # ^ |   +10 It's enough to store 2 values. But yes, I did all by matrix(2x2) multiplication.
•  » » » 4 years ago, # ^ |   0 I have always thought that my codes are fast and you passed it in 1.6s, maybe I should stop copying old codes :)
 » 4 years ago, # |   +5 What's the solution of B? nmlog doesn't seem to fit in this time limit.
•  » » 4 years ago, # ^ |   +24 Group the copiers by processing time; now nmlog is 1000mlog, which passes TL.
•  » » » 4 years ago, # ^ |   +13 how to group the copiers by processing time?
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   0 At first you get this problem (by precalcing first n — 1 steps): find min x such that sum{i}{(x + b[i]) / a[i]} >= Y. Then you count this sum not with loop from 0 to n-1, but with loop from 1 to 1000.
•  » » » » » 4 years ago, # ^ | ← Rev. 2 →   +6 what are a and b here? I still can't get how to group them since not all copiers will start working at the same time so I think we should for every query find minimum X such that sum(floor( (X-wait[i])/T[i])) >= number_of_copies_neededsince not all those have same T[i] will have the same wait[i] how can we group them?UPD: I'm still interested to know how the grouping is done even if the solution is actually wrong :D
•  » » » » » » 4 years ago, # ^ |   0 For every increase of T[i] in X, number of copies produced increases by exactly one for each machine. The different wait[i]s only matter for the last X % T[i] instants of time, and you can precompute how many copies are produced in those.Not that this matters anyway, since everyone used a wrong method to calculate wait[i] ¯\_(ツ)_/¯
•  » » » » » » » 4 years ago, # ^ | ← Rev. 2 →   -8 I've also group the machines for their unit times to produce one copy, then If they ask me for x copies, I just care about for every type machine all the possible reminder between x and unit time of these machines.This is my code: http://ideone.com/dSHk6ePrecomputation takes: at most 1000*n every query takes aprox : log(10^12)*1000*log(average size of groups)
•  » » » » » » 4 years ago, # ^ |   0 Group by (t, wait).
•  » » » » » 4 years ago, # ^ |   +11 what are a and b here? I still can't get how to group them since not all copiers will start working at the same time so I think we should for every query find minimum X such that sum(floor( (X-wait[i])/T[i])) >= number_of_copies_neededsince not all those have same T[i] will have the same wait[i] how can we group them?
•  » » » 4 years ago, # ^ |   +10 Oh... Bar is waiting for me. I tried to do something with right algebraic estimation. But no hacks could help me.(
•  » » » 4 years ago, # ^ |   0 Ahh so simple!
•  » » 4 years ago, # ^ |   0 I got n * t i * log(maxtime), precalc first n possible answers, for another a i make binsearch on time to use. you can do it, because all n xeroxes will be working already and you know all the information about them(how much time for each xerox needed to create next copy).
 » 4 years ago, # | ← Rev. 2 →   0 What was Pretest 4 for Div2 C ?
•  » » 4 years ago, # ^ | ← Rev. 2 →   0 edit :i guess 3.1617 or something like that ! i too got 2 wa on same !!
•  » » » 4 years ago, # ^ | ← Rev. 2 →   0 Am I supposed to get 3.142 as an answer no matter the value of t ? I got 10 WA on same, so I want to know. :PUpdate: I got it.
 » 4 years ago, # |   +69 I am giving up my "blue" color as a present to BigBag. Happy Birthday :P
 » 4 years ago, # |   0 How to solve Div.2 D?
 » 4 years ago, # | ← Rev. 3 →   +11 For div2C check these cases for yourself:4 19.454 29.455 11.055 Answers:Case 1: 9.5Case 2: 10Case 3: 1.1
•  » » 4 years ago, # ^ |   +9 Also:4 1000000 99.9Answer is 100
•  » » » 4 years ago, # ^ |   0 I had to resubmit because of a silly mistake. In 7 4 10.4447 Answer is 11 (Like Second Test of Pixar ) And I became 500 from 160 :((
•  » » 4 years ago, # ^ | ← Rev. 2 →   0 EDIT: Didn't see post above me until refresh I hacked a couple people with this:10 1 999.999999which should just be 1000
•  » » 4 years ago, # ^ |   0 failed on 5 1 1.055... Why didn't anyone hack me?
•  » » » 4 years ago, # ^ |   +7 Most people's code was atrocious for this question. I had a hard time reading through the ones that clearly didn't round repeating 9s, let alone forgot to check for rounding the leftmost available number first.
•  » » » » 4 years ago, # ^ |   0 Yeah same. The code in my room either looked good or it was too confusing to read (especially since I'm not used to reading c++ code) so I didn't take the risk.
•  » » » » 4 years ago, # ^ |   0 Well, after a second thought and reading MuhammadTD's comment, I found that my code wasn't wrong, and it was my brain that was wrong.
•  » » » 4 years ago, # ^ |   0 Seems you were not in my ROOM :P
•  » » 4 years ago, # ^ |   0 I got : 9.5 10 1.06That's correct, right ?
•  » » » 4 years ago, # ^ |   +5 No, in Third one the answer is 1.1 you can round at first digit
•  » » » » 4 years ago, # ^ |   0 Ok, I see. Thanks!
•  » » 4 years ago, # ^ |   -13 All these testcases work for me but my solution is getting WA on pretest 1.
•  » » 4 years ago, # ^ |   0 Why Pixar... My code got WR for your 2 and 3 tests... you ruined my mood :'(
•  » » 4 years ago, # ^ |   0 I pass all of these tests, but still got WA on pretest 5 :( Does anybody have any idea what was special about that case? I just can't figure it out... thanks :D
•  » » 4 years ago, # ^ |   0 Isn't case 3 = 1.1?
•  » » » 4 years ago, # ^ | ← Rev. 2 →   +3 yes, it is 1.1 (or at least it should be)
•  » » 4 years ago, # ^ |   +3 No ! You are wrong! case 3 is 1.1 that you round at first digit!
•  » » » 4 years ago, # ^ |   0 Sure, it's 1.1.I wanted to put answers fast in my comment and made mistake in my own test case ;)
•  » » 4 years ago, # ^ |   0 in your case 3 answer should be 1.06 not 1.1
•  » » » 4 years ago, # ^ |   0 Why do you think so?
 » 4 years ago, # |   +10 during the contest, there was a large queue and it cost 15 min delay in my solution's judgement and unfortunately it gave wrong answer so just a waste of time !Shouldn't this contest be unrated if many others faced the same problem ?
•  » » 4 years ago, # ^ |   0 bro same here was attempting E after a and submitted at 1:24 in hope to solve other after that but got wa after about 20 minutes and everything got messed up
•  » » 4 years ago, # ^ |   -15 It's not the first time.
•  » » 4 years ago, # ^ |   +9 I think an extension in time would've been a good idea since the queue was clogged after around an hour.
 » 4 years ago, # | ← Rev. 3 →   +1 Div1-C: When your solution get WA because you wrote (re*o.im+im*o.re) instead of (re*o.im+im*o.re)%MOD... I would have a sleepless night if that is the only mistake in my solution...
 » 4 years ago, # |   +18 Problem E is so beautiful, kudos to author(s). Let me describe my idea, which should give TLE.I think I have an O(n·d 5) approach where d is the size of the alphabet. From each of n positions I run BFS and for each letter I store its type: 0 if none letter of this type was visited, 1 is some letter was visited, 2 if there was type 1 in the previous turn, and 3 if there was type 2 in the previous turn (thus, these letters affect other letters within distance up to 2). It's possible to maintain types. Moreover, each of n letters belongs to one of 85 groups, defined by letters within distance up to 2 (five letters and alphabet of size eight gives us 85). If I know types of letters, for each group I can say whether all its letters are visited or none are. Btw. this solution calculates the number of pairs for every distance, but likely (?) the intended solution also can do it.
 » 4 years ago, # |   +420 Can someone who solved B say answer to test:4 12 3 3 36
•  » » 4 years ago, # ^ | ← Rev. 2 →   +62 Answer is 8. Time 2: Machine 1 finishes the first copy and gives it to machine 2. Time 4: Machine 1 finishes the second copy and gives it to machine 3. Time 5: Machine 2 finishes the third copy and gives it to machine 4. Time 6: Machine 1 finishes the fourth copy. Time 7: Machine 3 finishes the fifth copy. Time 8: Machine 1 finishes the sixth copy. Also, the answer would be the same for query 7, because at time 8 also machine 4 finishes its copy.
•  » » » 4 years ago, # ^ |   +830 You are wrong. Answer is 7.Time 2: M1 finishes 1 copy and gives it to M2Time 4: M1 finishes 2 copy and gives original and copy to M3 and M4Time 5: M2 fin 3 copy and gives it to M1Time 7: M1, M3 and M4 fin 4,5,6 copies
•  » » » » 4 years ago, # ^ |   +414
•  » » » » 4 years ago, # ^ |   +77 My bad, sorry.I see you got WA. I hope the reason isn't that the intended solution is incorrect.
•  » » » » » 4 years ago, # ^ |   +121 No, I can't solve it with any complexity (even something exponential) because of this test :)My solution says 8 too.I wonder if author's solution is correct :)
•  » » 4 years ago, # ^ |   +143 Wooooo, nice!Will organizers solution pass this test? If not, should that round be unrated?
•  » » » 4 years ago, # ^ |   +120 If organizers solution doesn't pass this test (likely), definitely unrated :(
•  » » » 4 years ago, # ^ |   +7 Maybe B should be taken out of the competition and then people should choose what happens with their rating — change or stay the same (if author's solution is wrong, ofc) so that people who solved C/D can get what they deserved.
•  » » » » 4 years ago, # ^ |   +5 Then people who solved C/D would compete only against other who solved C/D (ofc. it's a big simplification).
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   +4 That's completely unfair to the people who devoted time to solve it.
•  » » » » » 4 years ago, # ^ |   0 Well, one may argue that this problem is extremely hard so it's your fault to spend much time on it.
•  » » » » » » 4 years ago, # ^ | ← Rev. 2 →   +3 Unless the problem setter fixes the solution (I don't mean to disrespect BigBag or dismiss his work preparing problems, but judging by what you, the reds, say, is very unlikely) nullifying its' score is pretty much ignoring everyone's time spent on that question because the setter's solution didn't consider everything. While not a perfect solution, I think nullifying the score AND reducing the time penalty for every other submission after B (as if everyone who got Pre-AC on B never spent time on it at all), would be the second best option to making the contest unrated.
•  » » » » » 4 years ago, # ^ | ← Rev. 2 →   +3 It won't be fair for them anyway, that's why I suggested that you can choose to have the round unrated, at least it may be a relief.PS: Errichto, if you are reading this, sorry for not replying, I just didn't understand exactly what your point is. I know B is important in the current standings but still, there is no optimal solution (I mean optimal solution for resolving the mess) for this, I am just suggesting :)
•  » » » » 4 years ago, # ^ |   +5 Another possible solution is to make the round unrated for those who think they were affected by this test and for all others change the statement to match the authors solution.
•  » » » » » 4 years ago, # ^ | ← Rev. 3 →   +10 That's precisely what I suggest. You know, why would I claim not to be affected by it when I am about to lose ~100 rating points and how do they really know whether it affected me? It becomes pretty much the same situation, unless we assume that everyone is honest, which is obviously impossible.
•  » » » 4 years ago, # ^ |   +165 Well, no, the organizers solution won't pass this test. Moreover, we have never looked at the problem from this angle, as we had another formal model in mind. But of course, the statement matches your model better and now we have to think how to treat this situation. Any recommendations and suggestions are appreciated.Results will be delayed.
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   +104 ¯\_(ツ)_/¯
•  » » » » 4 years ago, # ^ |   +8 lol so either I do bad or the round becomes is unrated xD
•  » » » » » 4 years ago, # ^ |   0 Congratulations Tweety for candidate :D
•  » » » » 4 years ago, # ^ |   0 Why must system testing for other problems wait?
•  » » » » 4 years ago, # ^ |   -55 Do not make div2 round unrated. Just my recommendation :)
•  » » » » » 4 years ago, # ^ |   +14 I see many downvotes but isn't it quite reasonable proposal? The issue affected much smaller percentage of competitors there, and many of affected will anyway get to div1 soon (if they are good enough to solve div2-D), right?
•  » » » » » » 4 years ago, # ^ | ← Rev. 2 →   +24 It is not just the final opinion that is a subject to judging someone's post. For me reasoning is main thing to be judged and here I see no reasoning.
•  » » » » » » » 4 years ago, # ^ |   +5 That is deep :)
•  » » » » » » » 4 years ago, # ^ |   +42 Summary of most opinions whenever the question arises "it should be rated" -> my performance was good "pls make it unrated" -> my performance was bad (Before anyone accuses me of doing the same thing, I did ask for it to be unrated before I knew I failed the n=1 corner case in D :P)
•  » » » » 4 years ago, # ^ |   +3 Well the pertests for A and C were very weak and people got a lot of points from hacking (some people got like 1900 and 2000 that's like solving D from the start!!!) and D is unsolvable the queue was not compiling for 15 mins.Hmmm... not sure what are you going to do but making it unrated is the best solution I think.note that a contest (I don't remember the number of it) was made unrated for a queue that lasted 20 to 25 mins
•  » » » » 4 years ago, # ^ |   +79 IMO only justified decision would be to make it unrated. Which is kinda sad because many people have looked at the problem from exactly the same wrong angle, but there's no way to fix it right now.
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   +3 Any recommendations and suggestions are appreciated. Making a round unrated is a fine solution. I think that giving everybody 0 points for B (or maximizing scores with 1000) wouldn't be terrible, though I'm sure many will disagree.The number of strong people who didn't solve B is significant, so I think that it isn't good to make a round unrated for those who ask — there could be too many.
•  » » » » 4 years ago, # ^ |   +42 That's funny :) Looks like I made a bug somewhere in a greedy solution and instead of carefully check the code I have found a countertest.Well, it is sad but I think this round should be unrated. Or for example unrated for all who didn't solve B (because it is hard to distinguish whether a person didn't came up with a greeedy / skip problem B or found the countertest).
•  » » » » » 4 years ago, # ^ |   +8 In Div2 there are only 13 people who solved D, so...
•  » » » » » » 4 years ago, # ^ |   +78 ... So other people found the countertests.:)
•  » » » » » » » 4 years ago, # ^ |   +1 There isn't any hack for div.2 D, why rejudge for all submissions of div.2 D (WA and AC and all) isn't enough?
•  » » » » » » » » 4 years ago, # ^ |   -7 the problem is that the main problem with this looking will become NP!
•  » » » » » » » » 4 years ago, # ^ |   0 AFAIK, hacking only unlocks AFTER you get Pre-AC.
•  » » » » » » » 4 years ago, # ^ |   0 Even those who can't solve B and C huh?
•  » » » » 4 years ago, # ^ | ← Rev. 3 →   0 Ruining the whole div2 round for a problem where the number of the pretest passed solution is 13 would be unfair though.giving them minimal points would be ok, they're 13 but don't ruin the whole round :/
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   0 In Div. 2 over 5100 people submitted solutions. I think that's the highest record, isn't it? It would be very sad to make the round unrated. Plus in Div. 2 too few people solved it. We can make it unrated for them if they want, but for others that wouldn't be fair, as Errichto said here
•  » » » » 4 years ago, # ^ |   -14 well as Any recommendations and suggestions are appreciated.1st I read D for 30-35 minutes got this test case wasn't able to think of anything and thought its beyond my level and left it after that I submitted my 1st solution at 1:24 and 2nd at 1:30 and 3rd at 1:35 long queue of solutiona were there.Verdict for all three came after 1:50 and sadly i got 2 wa and i had o time to correct them so in my opinion round should be unrated and now when i m looking my code again I see that I had done a silly mistake in E which could had been resolved if verdict had came on time.So, In My Opinion round should be UNRATED
•  » » » » 4 years ago, # ^ |   0 Statement can be changed so that machines cannot be reused once stops working to make the intended solution correct.
•  » » » » » 4 years ago, # ^ |   +36 Let's change constraint for n to 3.
•  » » » » » » 4 years ago, # ^ |   0 That's different. Everyone solved this problem including the author (and also many who didn't solve it IMO) have this constraint in their mind while every one certainly know n can be large.
•  » » » » » » » 4 years ago, # ^ |   0 My comment with n ≤ 3 wasn't serious of course. Yes, most people tried to solve the version you described. Still, it's hard to decide what to do with the round. Changing the statement won't change the fact that some people tried to solve an actual version.
•  » » » » » » » » 4 years ago, # ^ | ← Rev. 2 →   +10 I think not many, maybe only 1 or 2, tried to solve the actual version. I admit that it is hard to revolve this situation but there might be a better way than to just make it unrated.
•  » » » » » » » » » 4 years ago, # ^ |   0 This is just not true. Everyone TRIED to solve the actual version, but no one succeeded (including the authors).
•  » » » » » » » » » 4 years ago, # ^ |   +10 If it's indeed 1 or 2, it's reasonable to make the round rated and indeed use the version almost everybody tried to solve.
•  » » » » » » » 4 years ago, # ^ |   +38 It is not like "people had this constraint in their mind". It is like "everybody thought it would be optimal to do it that way", which is substantially different.
•  » » » » » » » » 4 years ago, # ^ |   0 Yes, your description is more precise. I mean that even almost everybody thought it would be optimal to do it that way, but some did solve it that way while others didn't. We should not say their efforts are in vain.
•  » » » » » » » » » 4 years ago, # ^ |   +3 As long as we do not add that constraint to description I would say there is no difference to how long will you follow a path if it is a wrong path.
•  » » » » » » » » » 4 years ago, # ^ |   0 I agree, I actually by mistake read N <= 1000 and M <= 1000000 instead and tried to solve that (though got WA).
•  » » » » » » 4 years ago, # ^ | ← Rev. 3 →   +62 Try this3 1 1 3 47
•  » » » » » » » 4 years ago, # ^ |   +13 :(
•  » » » » » » » 4 years ago, # ^ |   +23 It is even better! Because we only send copies to other machines.It is the version mentioned by GlebsHP, isn't it?
•  » » » » » » » » 4 years ago, # ^ | ← Rev. 3 →   0 I don't understand mentioned where, but yes, we discussed this with GlebsHP. This test was inspired by halyavin, if it is important. Or I don't understand your question.UPD. I think I understand about what version you a speaking. Yes, we cannot just add to the statement that machines should run contiguously. We should describe the whole greedy algorithm to make things work. And Gleb is notified about this.
•  » » » » 4 years ago, # ^ |   +5 I think it would be silly to make the Division 2 round unrated since only 13 participants actually got the pretests. I'm not really sure about the Div 1 round though.
•  » » » » 4 years ago, # ^ |   +54 Ok, but did it really was a problem for a lot of people? How many of them could honestly say that it affects them? It would be very sad if this round will be unrated. Problems were nice.
•  » » » » 4 years ago, # ^ |   +24 Maybe it's stupid suggestion but if you don't want to make it unrated then assuming people who realized that the greedy is wrong are very low and most people just assumed the greedy is correct, then just change the statement in a way to make the greedy correct and make the round rated. this will make it unfair for very low number of contestants (maybe only Um_nik )
•  » » » » » 4 years ago, # ^ |   +10 Now everyone will tell you that they came up with the test too. xD See
•  » » » » » 4 years ago, # ^ |   +34 I will be sad :)Just kidding. Maybe it is a good solution.
•  » » » » » 4 years ago, # ^ |   +15 So maybe the following approach: in div1 allow participants to ask for unrated round and see what will happen. If many will demand it, make the round unrated for everybody.And div2 unrated without any changes or with giving 0 for B for everyboyd.
•  » » » » » » 4 years ago, # ^ | ← Rev. 2 →   0 That looks like a good solution. I belive in honesty of div1 contestants.
•  » » » » » » » 4 years ago, # ^ |   +60 I was div.1 6 days ago. I think you shouldn't :-P
•  » » » » 4 years ago, # ^ | ← Rev. 4 →   +9 Well, I think to judge any answer equal to or better than the ''solution'' to ''Accepted'' is a good idea. (As I think my solution should be AC if judged with the original tests. :-PAlso, making this round unrated is OK.(I don't think a rated round with changing the score is a good idea.
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   +13 And no one is even discussing about long queues which affected some contestents very badly
•  » » » » 4 years ago, # ^ |   +4 Any recommendations and suggestions are appreciated.Instead of making it completely rated make it partially rated. If dx is change in someone's rating scale it to some factor like 0.5x . It's a Win-Win for everyone. Unrating contest with such huge number of participants doesn't look good to me at least.
•  » » » » 4 years ago, # ^ |   +3 If there be a poll about that this contest be rated or unrated, I think many people don't vote at all! because they didn't think on Div.1 B! There were many people working on other problems and this contest was exciting for them I think!
•  » » » » » 4 years ago, # ^ |   0 Exactly! but If we ask in poll for contest to be rated or not. many will say unrated (for any contest). Most of us are never satisfied with our performance.
•  » » » » 4 years ago, # ^ |   0 Can we make it optional for people who submitted at least once on Div2D to have rated/unrated? Otherwise rated for everyone else.
•  » » » » » 4 years ago, # ^ |   0 Well, having submitted a code for it at least once isn't a factor, what if someone knew this greedy won't pass and he/she spent his time to find a better solutions?
•  » » » » 4 years ago, # ^ |   +9 Silly suggestion: Problem B is very hard. Its pretests were weak. The author decided to change his identity and move to another planet before posting the editorial. Everyone failed systest on B and up to this date no one knows how to really solve it. The round was rated.
•  » » » » » 4 years ago, # ^ |   0 Since you are blue, are you referring to Div2B?
•  » » » » » » 4 years ago, # ^ |   0 For Div.2 there are no problems with D, that's why I'm saying B :-D
•  » » » » » » » 4 years ago, # ^ |   +15 My guess is most people who read Div2D/Div1B and confident enough to attempt on submission consist of only a small fraction of the population. I really don't see the point of making unrated for ~5000 participants
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   0 Please don't make the contest unrated. This was my best ever Codeforces round!
•  » » » » 4 years ago, # ^ |   0 In my opinion, not giving anyone any points for Div 2 D and keeping it rated is a fine solution.
•  » » » » 4 years ago, # ^ |   +62 I guess everyone used this line of thinking:"The obvious greedy solution is to make the fastest machines work. The problem is rated B and the limits are large, so the obvious solution must be correct, there's no need to think further or try to prove it."You could say the problem produced undefined behavior in many contestants :^)tl;dr make it unrated unless you have a solution that works on the current limits with the current statement and the pretest results are identical.
•  » » » » » 4 years ago, # ^ |   0 But did the mistake affects you? Or you used the same line of thinking? If second one, than why to make this contest unrated by request is not a good decision? There was such a precedent in codeforces.I think that round should be unrated when it is impossible to participate for a big chunk of participants. Otherwise, we are just ruining round expierence for 99.8% of people (though, those of them who loses their rating would be only happy, no matter from what reason they lose it).
•  » » » » » » 4 years ago, # ^ |   +20 B and C had the same amount of points assigned. Deciding which one to attempt first was basically a coin flip, until later in the round when you could see the number of submissions. Those who chose to do C first have a huge advantage purely because of luck, I don't see how it would make sense to adjust ratings based on that.
•  » » » » » » » 4 years ago, # ^ |   0 I don't understand what are you speaking about. I don't suggest to remove B. I suggest to change its statement and make this round unrated for those who think that they lose some time/points because of B.
•  » » » » » » » » 4 years ago, # ^ |   +39 Ok, so everyone who blindly submitted the greedy without proving it would get +rating, and everyone who thought about it would have the contest unrated. By doing that, you're rewarding something that probably shouldn't be rewarded.Remember that rating is always relative to other people — if everyone except you gains rating, it's the same as when you lose rating.
•  » » » » » » » » » 4 years ago, # ^ |   -23 The question is: how many are there people of second type? If it is only Um_nik than probably you are overestimating importance of this issue. If there are other people who has problems because of this in first div. than they should probably mention it already. By the way, if Um_nik is the only one who noticed this problem during round, than probably coordinators should consult with him and decide what to do with the round
•  » » » » » 4 years ago, # ^ |   +10 That's meta-thinking is exactly what I hate in programming contests :(
•  » » » » » 4 years ago, # ^ |   +13 Beautiful explanation of metathinking! Thanks.
•  » » » » 4 years ago, # ^ |   +3 Can you say what was the formal model?
•  » » 4 years ago, # ^ |   +136 Thanks!!!!!
•  » » 4 years ago, # ^ |   0 Hi, I sleep over the contest, problem B seems delete from the database, someone could tell me what is the original problem? (Just content my curiosity)
•  » » » 4 years ago, # ^ |   +19 Given N copy machines. The i-th machine can copy one file in t i seconds (either from the original file or a copy). Given M queries. Each query asks us to calculate the minimum time to get a i copies of files if we only have the original file at the beginning.1 ≤ N ≤ 200000, 1 ≤ M ≤ 2000, 1 ≤ t i ≤ 1000, 1 ≤ a i ≤ 109.
 » 4 years ago, # | ← Rev. 2 →   +24 Oh.. feels like the new trend on codeforces is tough Div2 D / Div1 B problems.. So much fun in the contest. Thank you BigBag for such great problems!
•  » » 4 years ago, # ^ |   +5 I feel implementation wise E is harder. Its just that lot of people just know how to do it.
•  » » 4 years ago, # ^ |   +8 the sarcasm is strong with this one
 » 4 years ago, # |   0 Can you solve Div2 E/Div 1 C using Range trees?
•  » » 4 years ago, # ^ |   0 Segment Tree
•  » » » 4 years ago, # ^ |   0 Can you explain your solution?
•  » » 4 years ago, # ^ |   +8 It should be known that Fibonacci number can be solved by matrices,[f_n,f_{n-1}]*A=[f_{n+1},f_n] where A is easily given. If we wanna know f[n], using matrices above can do; just [1,1]*A^n is ok. Then we use segment trees maintaining the summation of A^a[i] in a segment, the rest part is easy to solve.
 » 4 years ago, # |   +24 I think this contest is so great,the C problem in div1,give me great suprise!Though I don't know how to solve it......
 » 4 years ago, # |   -17 What was pretest 1 for A/Div.2-C?
•  » » 4 years ago, # ^ |   +8 Pretest 1 is the example test.
 » 4 years ago, # |   +3 Problem C test 7 100 109.998
•  » » 4 years ago, # ^ | ← Rev. 2 →   0 I'm getting 110 Is that correct?
•  » » » 4 years ago, # ^ |   +1 I believe that is correct.
•  » » » 4 years ago, # ^ |   +1 Yeah.
•  » » » 4 years ago, # ^ | ← Rev. 2 →   +1 Yes.
 » 4 years ago, # | ← Rev. 2 →   +31 The moment when you submit your first solution at 90mins. Then during the long queuing process realize that the solution would give TLE and have no idea to optimize.
•  » » 4 years ago, # ^ |   0 Why didn't you try div1A? I'm sure you could've solved it :)
•  » » 4 years ago, # ^ |   0 Wow, that's one complicated moment
 » 4 years ago, # | ← Rev. 3 →   +3 this contest is making me a creative guy, not only the questions, but also about the new story that i should make to tell my teacher which I haven't wrote the homework spending my time for the contest :P
•  » » 4 years ago, # ^ |   0 Tell her that homework is useless and contests are at least very fun :P
•  » » » 4 years ago, # ^ |   0 challenge accpeted :D
 » 4 years ago, # |   0 HAPPY BIRTHDAY! bigbag toobut I was hoping that this round will be easy :(
•  » » 4 years ago, # ^ | ← Rev. 3 →   0 That round very good super round in my life.:)
 » 4 years ago, # |   +27 awkward moment when the rank 1 in div 2 solves 4 problems whereas the rank 2 solves 5 problems.
 » 4 years ago, # | ← Rev. 2 →   +4 can 3 1 0.9 be a test for div1A?
•  » » 4 years ago, # ^ |   0 why not?
•  » » 4 years ago, # ^ |   0 Yes, it could and the output should be 1
•  » » » 4 years ago, # ^ |   0 my solution is getting 1 two but i think i could hack someone with this :(
•  » » 4 years ago, # ^ | ← Rev. 3 →   0 OMG! Yeah It can be and I don't output anything :(EDIT: Oh ! Thanks God! I just entered 3 0.9 1 instead of 3 1 0.9, It was a HORRIBLE moment!
•  » » 4 years ago, # ^ |   0 Can 2 1 .9 also be a test?
 » 4 years ago, # |   +5 BigBag isn't your birthday done ?! we are waiting for editorial, please! (And also Happy Birthday :D )
 » 4 years ago, # |   0 how to solve div2 B ? i can't figure out it for a long time
•  » » 4 years ago, # ^ |   0 The string should be transformed to either rbrbrb... or brbrbr... For each you should calculate the number of blacks and the number of reds to be changed, and the answer is the maximum of the two because you want to maximize the use of the swap operation.
•  » » » 4 years ago, # ^ |   0 thank you, let me think ...
•  » » » 4 years ago, # ^ |   0 I figure it out, thanks very much. but i think your solution may be wrong.101110001, the answer should equal to 2, your method will give 1 as answer.
•  » » » 4 years ago, # ^ |   0 "In one turn he can either swap any two cockroaches" I was too careless.... I thought it can only swap two Neighboring. anyway, thank you for your help :)
•  » » 4 years ago, # ^ | ← Rev. 2 →   0 Think of rbrrrb as 101110.We need to make it either 101010 or 010101. For any input there are always only 2 possible target strings(we need to figure out which one is the closest). Go through your input and compare each character in input string with these two target sequences. The sequence that has fewer errors wins and now you just count how many errors there are.
•  » » » 4 years ago, # ^ |   0 how does counting the no of errors help?
•  » » » » 4 years ago, # ^ |   0 The number of errors is essentially the answer ;)
•  » » » » 4 years ago, # ^ | ← Rev. 2 →   0 If current character s[i] doesn't equal to the target character t[i] it means that it is1. either in the wrong position2. or painted in the wrong color In any case we have to apply some action to it. If there 10 zeros which are not on theirs places and 12 ones are also not on theirs places, we do 10 exchanges and 2 painting operations.
 » 4 years ago, # |   +5 when can we start upsolving?
 » 4 years ago, # |   0 Div.2 contestants who solved problem A correctly could get a decent boost in rank after system testing :D
•  » » 4 years ago, # ^ |   0 Also for Div2. C , Pretests are even more weak!
 » 4 years ago, # |   0 I tried hacking with "2 1 .9" for Div2-C, it gave "Invalid Input" though.Prob stmnt doesn't say anything about before the decimal.
•  » » 4 years ago, # ^ |   0 Actually .9 is not a valid number!
•  » » » 4 years ago, # ^ |   +3 Isn't it upto the representation one decides on. I just thought this part was ambiguous and debatable.
 » 4 years ago, # |   -6 Happy birthday BigBag
 » 4 years ago, # |   +5 Why it stays Pending system testing..
•  » » 4 years ago, # ^ |   0 Because there is something wrong with the problem B. This contest may be unrated.
•  » » 4 years ago, # ^ |   0 GlebsHP said here that system testing is delayed because the round will probably be unrated because the problem setters put too little thought into problem B.
 » 4 years ago, # |   +14 Please don't make it to be unrated for just Div2