
Привет, Codeforces!
Благодаря поддержке Neapolis University Pafos, продолжается серия образовательных раундов.
В Nov/28/2025 17:35 (Moscow time) состоится Educational Codeforces Round 185 (Rated for Div. 2).
Этот раунд будет рейтинговым для участников с рейтингом менее 2100. Соревнование будет проводиться по немного расширенным правилам ICPC. Штраф за каждую неверную посылку до посылки, являющейся полным решением, равен 10 минутам. После окончания раунда будет период времени длительностью в 12 часов, в течение которого вы можете попробовать взломать абсолютно любое решение (в том числе свое). Причем исходный код будет предоставлен не только для чтения, но и для копирования.
Вам будет предложено 6 или 7 задач на 2 часа. Мы надеемся, что вам они покажутся интересными.
Задачи вместе со мной придумывали и готовили Адилбек adedalic Далабаев, Иван BledDest Андросов, Максим Neon Мещеряков, Роман Roms Глазов и Максим FelixArg Новоточинов. Также большое спасибо Михаилу MikeMirzayanov Мирзаянову за системы Polygon и Codeforces.
Удачи в раунде! Успешных решений!
UPD: Разбор опубликован









as a contestant, i woke up like a sleeper agent at the sight of 6 or 7 problems
6 or 7
As a commenter, I commented very fast again!
As a replier, I replied.
As an observer, I observed.
as a contestant am searching for the tester's comment
As a contestant, i am waiting for this contest to start
where is score distribution?
In educational rounds, all problems have the same weight.
67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67 67
676767676767676767676767676766767676767676767676767677667767676767676767667
+67 to get pupil
No more weak pretest please:)
Btw, hope to solve at least 3 problems, thus increase my rating.
Prophet.
No, because edu 184 was written by the same authors, and that contest has weak pretest.
Hope to solve 5 problems this contest
Hope to rank up!
Is there an interactive problem??
Hello Gays.
Hope that i will top in the next contest.
As a newbie on codeforces , I will try my best to solve some questions from this contest .
first contest
hh i wanna ac 1 problem that's enough 2 me
six xor seven
one
score distribution>>?
I hope problem B is not 2D problem
A was a 2D problem
Nice B
that was tough :/
Ok, got it. E was a little easier than D ,but how more than 1k people got AC -_- ??????
There seem to a lot of cheaters in this round
How can one become master in this economy. Please do the needful by removing cheaters at the top.
i think if you are smart enough to rewrite gpt solutions in your coding style instead of just changing variables, you are likely not getting caught. the best you can do today is have fun solving contests
Agree, it is not possible anymore to detect cheaters with 100% correctly.
terrible D
Spent entire time debugging problem D edge cases. Always seems like a waste of a competition when you spend more time debugging than actually thinking about or solving problems.
Would be nice if they showed failures on test cases (maybe not all test cases but first 5 would be nice) you still get punished for your submission failures, but it also distinguishes between competitors who can solve the problem but are missing edge cases, vs competitors who flat out can't solve the problem. Always hate getting batched in the same ranking as the group who can't even attempt to solve a problem, when i can make a single tweak to solve a problem right after the contest.
i hope such a D not exist anymore on rated rounds
this is way too hard for me
not only you
not only you
In problem C, i tried to sort both arrays, then, considering each index i, if (r[i]+1]*q[i]+r[i]<=k then it counts as a correct pair. Idk where im wrong, hlep :D
sort quotients increasing, remainders decreasing.
Here's where you fucked up. If you can't match a remainder to the lowest remaining quotient, you discard the high remainder but don't discard the low quotient.
keep track of your quotient index. Then iterate through your remainders (largest to smallest) if you have a match, increase your quotient index and add to answer, otherwise do nothing
"Here's where you fucked up. If you can't match a remainder to the lowest remaining quotient, you discard the high remainder but don't discard the low quotient."
Initially was doing same but dk why i sorted both in increasing order lol..XD
Could you please provide an example of this?
First for the root logic. We're looking for a pair, (x, y) that fits the condition (x/y) = q[i] and (x%y) = r[i] and max(x, y) <= k.
Since our max (x, y) needs to be <= k, what is the smallest x and y that can meet these conditions?
well y must be greater than the remainder, and x will always be equal to y * q[i], so we want y to be as small as possible. So lets set y = r[i] + 1.
Now the greedy portion:
low remainders as well as low quotients are obviously more "valuable" because it makes it easier to satisfy the condition max(x, y) <= k.
Each quotient or remainder can only contribute a maximum of 1 to the overall score, so it makes the most sense to pair the each quotient with the (LEAST valuable aka largest) remainder that still satisfies the condition so you can save the more valuable remainders for the higher quotients.
lets say we have k = 11 and we have q = [1, 5] and r = [1, 5].
f = smallest such y that meets conditions y/x, y/x = q and y % x = r
f(q[0], r[0]) = 3 f(q[1], r[1]) = 35
f(q[0], r[1]) = 11 f(q[1], r[0]) = 11
ohhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
thank you so much
Did I over complicate or was D such a pain to implement .
My implementation is horrible for D (quite sure there exists some better implementation). But the primary idea was the greedy pairing of I(V / X).
351059087 what i am doing wrong in this..I think problem is in 2nd while loop
I feel like the description of the problem B is somehow incomplete. There can be some tests where the solution doesn't exist.What about the test case as n = 5, b[n] = 0 0 1 1 1? Here we can't perform the exact n operations!
they said there was a guarunteed solution
"there exists at least one way to choose l and r for each action and reorder the elements at the end so that a becomes equal to b"
What about the test case as n = 5, b[n] = 0 0 1 1 1. Here we can't perform the exact n operations!
this case cannot occur as a test case as it is guaranteed that a solution exists according to question
The input testcases will contain only those where it's possible to do exactly n operations.
possibly the worst problem D of any div2 round
how exactly was D accepted in a modern cf round? my hatred for it is especially strong since it resulted in me getting an rte on my last-minute submission for F due to a lack of time
Actually, I quite like this kind of problem, especially for someone like me who can't solve problem F. It allows me to focus on enumerating the prefix and suffix scenarios of the question mark sequence without overthinking.
How did you solve D?
I would say D is quite good problem, no DS, no some obscure algorithm, no gpt.
Also it encourages good programming practice, the cleaner you write the easier to debug your logic.
I was just lucky it worked on 2nd try for me. I would never debug that mess...
But i get your point.
How am I able to submit a hack if I can't view the code, when every submissions that I clicked in (even my own) display as "N/A"? Does anyone have the same issue like me? Please help me with this issue, I have had this issue for the last two weeks.
GuessForces.
How? Each question till C is simple inequality maths
I'm not talking about contest lol talking about the comment above about submitting hacks without seeing code
Oh lol xD
I know the pain !! I guess perhaps the admin can help with this problem??
Yes I hope so, because sometimes I also want to learn from other peoples' submissions as well (and also sometimes hack solutions). I've encountered this issue for over a week but there's still no support. I wanted to tag admins but I don't know if doing that may disrupts them.
I was able to view solutions probably 3 weeks ago, but now i can't anymore, which is weird. Did you manage to see source codes last time?
About 3 weeks ago, yes. After that every contest that I tried to open submissions in standings and in status, all of them including my own was blocked. That is strange, maybe a bug in Codeforces? Anyway, I only hope that this issue will be fixed soon. There are already many technical issues on the page that need to be handled first.
Glad that I wasn't the only one! I thought my ranking is low and that's why I couldn't view other's code. I only take this as a hobby though. It may affect others who take this seriously.
Can someone please explain to me how to solve B ?
Can someone please explain to me how to solve problem B?
Thinking about how to include more elements in a single operation. This value is equal to the smaller of the number of non-zero elements in the array and the sum of the array minus (n-1) (ensuring that there are numbers left to add in the remaining n-1 operations).
We can easily do it using binary search. We first count all the non zero elements of array B. Let's term this value nz. This way we know our answer x will always be 1 <= x <= nz. Now we simply binary search on the value of x.
For any "mid" which is a candidate answer of x:
sum(b[1...n]) — mid >= n — 1 should always be satisfied. Why? This is because if x is a genuine candidate answer, then there should at least be 1 operation of length x hence we see if the remaining difference is greater than n — 1. Because is no way we can increase the sum less than n — 1 in exactly n — 1 operations. 351013821
if u dont mind can u paste here
what is wrong in this:
if sum of all elements == n then ans is 1; else we have to check, How many positions we can fill in one operation with non-zero elements. (as we can form a from b by shifting also)
The "dumb" solution would be: * sort the
bascending * start filling theagreedily — go through theband choosel/rfor every element, like this: l=i, r=n, for every i-th element recordb[i]pairs * note the 1st such recorded pair is the longest one * the above is the greedy filling, which may end up in less thennrounds, lets say we haveextraunused rounds (extra = n — number of pairs) and we need to distribute them somehow * now going in the pairs array in reverse, reduce the length of the pair to 1, deducting the reduced length fromextra* onceextra == 0, the 1st pair is the longest oneC was a nice problem. But D kinda ruined the experience 😭😭
yes
please share idea of C !!!
let y=r[j]+1
ok thanks for the hint, I will try to think more using this.
You sort the quotients in descending order and the remainders in ascending order. For each remainder b[i], you can set y from the question as y = b[i] + 1. This is the minimum possible y. Now, using this, you can find the value of x by choosing the most suitable quotient value by iterating in the quotient array (descending sorted) from L -> R. This can be achieved via something like two-pointers. For every remainder < k (since minimum y = remainder + 1) , we can always move right in the quotient array finding smaller quotients which satisfy the current remainder. Once we exhaust all the quotients or the remainders (or both), we can simply print the answer. My sol : 351039957
thank you for your explanation !! I did something similar but wasn't sure why this is gonna be maximum we can do
for c for every number we can say that q array is quotient array and r array is remainder array so the number so formed will be x=q*y + r from which i can find out the limit for q in terms of r by manupulating the equation we can get :- q<= (k-r) / (r+1) let us say it is limit this tells us maximum q value an r can accept so now we will make this limit array and we will sort both q and lim array and do greedy matching like for every q we will find smallest possible limit with help of two pointer and then we will count the number of matching which will be our final answer
you can refer to my submission :- [submission:https://mirror.codeforces.com/contest/2170/submission/351027443]
got it, inequality formed using
y = r+1the smallest possible value foryright ?correct
Hints:
Can we get x and y as f(q,r,k)?
For some q, is there a bound on r?
Think greedy!
Finally, see It was so simple like greedy scheduling but my brain was caught up somewhere else. Bad day :(
nice, thanks...
WHY ISNT PROBLEM D THE LAST ONE TS WASTED LIKE 99% OF MY TIME ON THIS CONTEST >:(((
The plague of heavy implementation has infected Educational Codeforces Rounds. Let's see who will be the next victim.
A, B, C, E, F could all be implemented in like < 40 lines without try-harding
One pure implementation problem will ruin the whole contest exp i think?
the word "plague" has a specific meaning
they are saying the plague is outside edu rounds (until now). D is patient zero
They need to contain the leak before it infects all the way to problem A!
Way too many solves for C. Too many cheaters in the contest.
if you look it is very simple once you get a simple math observation (that observation too is a maths fact only)
please tell the observation
for numbers q[i] and r[j], the relationship between x and y is
x = q[i] * y + r[j]
from here you can find that the minimum number that works for y is r[j] + 1
you can then check if a pair of numbers works by checking if
q[i] * (r[j] + 1) + r[j] <= k
finish the problem by greedily matching together pairs of numbers.
thanks for sharing this idea !!
for a given mod if it is high enough then it should be paired with as small q as possible and the y should be (remainder+1) from that we can conclude that for a given mod in descending order we should consider q in ascending order if for a given mod it can be paired up with q then we should use that q and move right and if we cant use that then it can be proved that any bigger q cant be satisfied even as x will be remainder +((remainder +1)*q) so it will be better to leave that q for a smaller mod. pleases go through my code once to understand better
yeah I think not being able to use bigger q is the idea which makes this work, thanks !!!
the whole next day will be gone well because of the joy that i could explain my approach to a candidate master :)
oh nice !!! ... keep it up, you are on your way to better ranks above me,
I seem to be going downwards lol !!
btw, I very love D, for less guessing than other div2D and some transition between states (... but currently I'm not yet submitted)
My name starts with D, today D is sad because D is bad
couldn't solve D, but struggled with C also ... is there some simple solution for C
C is pretty standard binary search on answer. For
x = q*y + r, we know thaty > r. Also, if some no. of removals is possible then less no. of removals than that is always possible, so the partition point can be binary searched.If we sort both
qandrarrays, then it's obvious that taking a small prefix of both is good because smaller values ofqandrwill ensure thatxandyremain<= k. Additionally, for each choice ofr, we can takey = r + 1, as that will result in smallest possible values ofxandy. If we were to test for an answertake, then we taketakelength prefixes ofqandrarrays (after sorting) and pair them in reverse so that i-th largestrmatches up with i-th smallestq. This minimizes thexvalue.You can check my impl: 351181458
What a ride till problem C !
D is hardest :(((((
I think the solution of D is if — then until die....
how to solve E?
First, you can observe that a string is beautiful if it consists of more than one block. Because if it contains an even number of blocks (>= 2) you can remove either the first or last block, and if it contains an odd number of blocks(>= 3), you can remove one of the middle blocks, then 2 blocks of the same color would merge and you would decrease the number of blocks by 2, it doesn't work if you only have one block because the string will become empty which is not beautiful.
After that the problem just becomes find the number of binary strings such that none of the given ranges is contained inside one block (i.e. have only 1 type of bit), You can solve it using dp, specifically you can think of the state as the position you are currently in, and the transition is adding a block, while making sure you that no given range is contained inside one block.
so dp[len] = number of binary strings of length n satisfying above condition, you can reach it from dp[len-1], dp[len-2] ... dp[0]. but you need to exclude cases where the block you will be adding will violate the conditions. so you maintain the maximum L for all ranges such that R <= len, and you can only now transition from dp[len-1], dp[len-2], ... dp[maxL]. Because if you transition from any states before that you will violate one of the conditions (the block added will contain one of the ranges).
To do these transitions quickly you can use prefix sums. Refer to this submission for more details.
weak pretests on edu round :(
is there something wrong with the b tests/input constraints? there are so many solutions getting hacked for wa
It can be hacked if your sum variable is a 32 bit integer and not 64.
Very nice ABCEF, But one bad problem can ruin the contest. D is so disgusting.
The author after putting problem $$$D$$$ in the contest
i competely agree with you
bad gap between C and D
Problem D was a pretty cooked problem tho :|, with less solves than E
Is the test in the contest an official test?
Is the test in the contest an official test?
is there any approach with xor basis on F?
C was amazing
What is the idea for D? I tried splitting it up into ?X/V, I?, ??, and ? and going from there, but this doesn't work.
Why there wasn't overflow test in task B? I got hacked :-(
Same stupid contest make sure you downvote
Why were the tests so weak got my solution hacked due to integer overflow bad contest.
I hacked my own solution due to integer overflow, we are not the same
D is INCREDIBLE good problem, I LOVE IT SO MUCH
What is the solution idea for it?
put as many IV or IX as u can
Thanks for the reply, Nyemot. I tried to do that, but I couldn't figure out how to precompute all the necessary details for the code to run in time. Can you please help me understand how to do this?
I submitted this verbose version of my solution after contest 351091920
It might be hard to read here, maybe copy it to your IDE.
Tell me what you think, also if you still don't understand some things, feel free to ask again.
Let Z be some large value (X or V). We know that intuitively, we want to use as many I's as possible, and use V's and then X's iff necessary.
In solving the problem, one of the first observations I made was that we can break the input string down into blocks of ?s; this problem can probably be solved with a different, simpler approach, but let's go with this for now. Following this, we can store the size of each block, along with a boolean/integer flag for whether the determined character to the immediate left of the block is I (called aL) and whether the determined character to the immediate right of the block is Z (called aR). This is the only information about the surroundings of each block we need.
For example, with the string "X????V", our block would be of size 4 with aL = 0 and aR = 1.
Now, we want to compute the amount of pairs of IZ that we can possibly make in some block, and we will find this given the amount of Is we will put into it (called
k); let's call this functionf(block,k). We know that, ignoring aL and aR, our formula is triviallyf(block,k)=min(k, block.size-k)because the # of IZ pairs is limited by both I and Z. Now, if we only have aL=true and aR=false, we can set the first ? in our block to Z, so we havemin(k+1, size-k)IZ pairs, and vice versa for if we only have aR. Therefore, our comprehensive f isf(block,k) = min(k + block.aL, (block.size-k) + block.aR).So, to recap, we now know the amount of IZ pairs we can get in each block. All we have to do now is maximize the amount of IZ pairs we can make globally while using all of our available Is. So now, let
Kbe the amount of Is we are allowed to use (per query). Effectively, we want to distribute thisKinto multiple smallerks that we can give to each block. In order to do this, we can observe thatfis always concave, with a slope of 1, 0, or -1. So, let's defined(k)asf(k)-f(k-1)(essentially slope), observing that it is non decreasing for increasingk. We can now state thatf(k) = f(0) + sum(d(t) for t=1...k)), and thatf_all(j) = sum(f(0) for all blocks) + sum(sum(d(t) for t=1...j_i)) for all blocks), wheref_allis the global amount of IV pairs given some arrayjwithj_ifor all blocks (jsums toK; here,jcan be thought of as a 'config' forf_all).Given this, and seeing the first part of
f_all, our initial intuitive step can be to simply store the sum of allf(0)for all blocks in a single variable to use for each query; let's call thatF0. Next, we also know that, intuitively (for the lack of a better explanation),d(k)is the "potential" forfat some pointk, in that it shows whetherfstill has more "room" for IZ pairs (d(k)=1) or not (d(k)<1), and we also know it holds a numerically equivalent relationship with how many IZ pairs we actually make. So, we can essentially combine all multisetsdinto one large multisetD, which stores these deltas/slopes for all blocks. Sorting this descending, we find how many IZ pairs we will make using an optimal strategy isD(x) for x=1...Kgiven someKfrom the query. To make thisO(1)per query, we can just store a prefix sumprefforD, and so our total amount of IZ pairs givenKis alwaysF0 + pref[k].So, overall, we now have the total amount of IZ pairs we will make in our blocks. We can trivially compute the contributions from the predetermined characters before processing queries, and then add the contribution from our ? blocks following our greedy strategy to maximize the # of Is we use, then Vs, and then Xs to obtain our final result.
Submission: 351062521
I agree.
It was kinda mess and i was lucky for sure to not spend hours debuging it.
But i dont mind implementation-hell problems. If its like 1 in a month or so. I was much happier from it passing then usual.
Was D just heavy casework?
e.g. ?V, ?X, ?, ??, etc?
The solution for D was not too hard to think of but it was just a bit of caseworkey problem. My approach was kinda nice.
1) After adding V at the beginning and I at the end, the answer for s and V-s-I without counting the sum 6 of V and I is the same.
2) Hence we can divide the string into 'islands' like (I/V/X)???...???(I/V/X) and then try to deduce how many 'I' alone can get a -1 (ni), how many 'V'/'X' we can use to get a -1 (nv), how many 'I' OR 'V'/'X' we can use to get a -1 (niorv) and how many 'I' AND 'V'/'X' we can use to get a -1 (niandv).
3) It is important to see that the string ???? is similar to ?? in terms of structure where we need a 'I' AND 'V'/'X' to get a -1 so we are only left with 8 distinct type of 'islands': I?I, I??I, I?V, I??V, V?I, V??I, V?V, V??V. Try to get the answer for each case. for example for I?V, one I or V gives a -1, and for V?V only a I alone can give a -1.
4) We can see that using most I and then most number of V and then X is optimal.
5) We can try to see whats the maximum number of '-1' we can get due to IV or IX. For this we use all the I (ni), V/X (nv) that can alone give a -1, then all the I OR V/X by consuming the higher number left of each I and V/X (niorv) and then we are left with I AND V/X which we can use till we are out of I and V (niandv).
Here is my submission: 351093217
I appreciate the announcement. I'm looking forward to the round; the extended ICPC format should make it interesting, and the problemsetter lineup appears solid , Gl everyone !
It's always just integer overflow... why...
Maybe we should keep use long long to prevent it
Or maybe use Python?
D is cancer
Hello, I received the similarity warning for my solution in this round. I did not share my code with anyone and did not copy from anyone. It is possible that I once used an online IDE that unintentionally made my code public. I understand this is against the rules even if unintentional, and I sincerely apologize. I will make sure this never happens again. Thank you for checking.
Problem D
Greedy approach: 1) replace all "?" with "I" and compute the score. 2) replace question mark "I" with "V" for those scores that change by +2, +4, +6 respectively (three loops) and save all the results. 3) finally answer the queries with the precomputed scores, adjusting by cx * 5 since we worked with "V"s
I don't know if this issue is common or not. But this is the first time I've come across this message on Codeforces, and it's already pissed me off. Manually viewing 4-6 submissions per minute is not even close to crawling, come on. This behavior makes a full-fledged hacking phase impossible. I hope that the administrators will eventually be able to adjust the upper activity limits to an adequate level.
I'm getting the same issue. How do you make it go away? Are we just not allowed to look at like 6-7 solutions per minute or something?
I didn't do anything specific to make it disappear. The first time I got this message, it lasted for more than an hour. I tried changing my password but it didn't lift that warning, it eventually vanished itself. The second time, about half an hour without any actions from me. But the third time, it had lasted for at least 3.5 hours which made me write the original comment. Also, after each attempt of opening any solution (including my own solutions!), it logged me off with a message You are temporarily blocked by the administrators. As if the administrators tracked me down and manually blocked me for me daring to open 6 submissions per minute.
The worst thing about that message is that it doesn't explain its criteria and reasoning (Codeforces, what kind of authority are you to restrict human users from browsing solutions?), and it doesn't tell you how long you have to wait and how you can appeal this decision. This is very annoying, to say the least.
Alright, forget about hacking phases. Imagine an even simpler yet more important case. Will a coach be blocked for opening a dozen of their students' solutions at a time? Sometimes it is more convenient to browse them en mass. I would be glad to receive any kind of comment from MikeMirzayanov on that case and on the whole situation in general.
P.S. I never understood why people had alternative accounts on Codeforces. Although I'm not planning to use alts any time soon or later, I won't be surprised if someone turns out to be using alts just because of such a situation.
I'm very happy to take 2nd place after virtualing this round!
Hi all
A newbie here. I registered for this one as a rated contest and managed to solve 2 :P but it's showing as unrated contest in my profile with no rating update. Could someone please let me know why could that be?
check next day, education rounds have 12 hour hacking phase so rank updates happen after that ..
LLMs are ruining Codeforces. It's hard to believe that in an educational round, over 200 users managed to solve six problems. Just a few hours ago, the proportion of pupils and newbies among the top contestants was even larger than that of grandmasters. Although the situation has improved somewhat after the administrators issued bans, a significant number of low-rated users on the leaderboard are still pulling off the "feat" of solving all problems in just 30 minutes. If this continues, Codeforces' rating system will likely collapse.
I hope the cheaters get banned
Very weak pretests :(
Last time problem A has a weak preset and this time problem B has a weak preset... I don't dare to participate in educational rounds because of the massive hack on a problem
Doesn't it make you more aware of some of your oversights?
Hello, I received a “solution coincidence” warning for my submission to Problem 2170D in Educational Codeforces Round 185 (Rated for Div. 2).
My submission ID was 351040087.
I want to clarify that I wrote the solution independently and did not copy from anyone. I also did not share my code. The similarity might be due to standard logic or common approach used for this problem.
I kindly request the coordinators to review my case. Thank you.
why does it get so much downvote
why did this blog get so many downvotes? can someone explain the reason?
Maybe too weak pretests or bad D.
Hello, I received a plagiarism warning for problem 2170C. I did not copy from anyone, and I did not share my code with anyone. Any similarity is purely coincidental because I solved the problem myself during the contest. Please review my case. Thank you.
the test in problem B very weak T_T
okay so got this comment saying one of my solutions matched with xyz and all, not sure how that happaned, but i will make sure it wont happen again
my ratings are not yet updated even after the hacking phase
wtf with the pretest of B? Is it because there’s a hack phase that they don’t care about constructing the pretest at all?
I think the main reason for that is this: You generally want small numbers for interesating test cases in this problem. You want to aim for sum < n.
And there is even a second problem: The most naive "overfloat check" where n=200000 and every b_i=n does not even fail (at leas on some hacked solutions). Because it actually overfloats back to positive and you just need the sum >= n, not the exact value of n.
Also, being hacked is a learning experience. Yes, weak tests are bad. But now you know how to solve it better next time.
why do some dislike the rounds they don’t perform well in?
Pure math roll out of XCPC!
nice pretest for problem B
Terrible testcase for B. Getting hacked just because I didn’t use long long feels bad. If it hadn’t been accepted, I would have figured it out during the contest.
Six seveeeen
weak test may lead to many successful hack.
Why round is unrated? I hope that it is a bug.
Nice. It has system testing now.
My answers have been skipped i don't know how it has been same to some other person I don't even know him/her. It's entirely unnecessary, please check its entirely coincidence, answer of question A has been matched which is very unlikely. I am sure you will do due diligence and my answers won't be skipped.
Why does the problem explanation for Question D describe a problem that is quite different from the original one, and the code also seems unable to pass
Hello. I received a plagiarism warning for submission 351056694. I would like to clarify that I solved the problem independently and I do not know the other users whose solutions were mentioned. I did not share my code anywhere, and I did not use any public compilers or platforms.
It is possible that the similarity occurred coincidentally, especially since many participants may arrive at similar dynamic programming implementations for this problem.
Please review the situation again. Thank you.
Did they just solve a less awful version of D in the editorial ? That version of D looks much better than this one.
.
weak pretests again :D
I mention one thing, last contests are starting like this anymore, idk why A- Easy B- Medium C- Easy D- Expert E- Hard F- Medium suprising us all as usual
Actually my fault, but B is accepted during the round without long long :(
B weak pretest let me remain be newbie :(
same bro I got wrong answer on pretest 11
Same. just use long long to pass :(
i like apples and bananas
do u get ur rating?
nope
almost next contest , but no one get rating :-(
several months into codeforces but waiting for rating update feels the same everytime
it seems this contest all unrated, but why?
I haven’t received my rating.
SIX SEVEN!
Thanks for this round, it was good
What the heck is wrong with the tag for problem A?
Here is my screencast:
https://youtu.be/YtJoNIC6lG4
My Handel Name is VSS402002_Muhammad_Adil"I have been flagged for problem 2185E, but I want to clarify that I wrote the code independently. I did not copy or share my solution. The similarity might be due to using a standard logic/template or a common implementation of the algorithm. Please review my submission (358521009) fairly."
Hello
AOA
Hello