Hello, Codeforces!
I'm pleased to invite you to open up the new year with Codeforces Round 996 (Div. 2) on Jan/12/2025 17:35 (Moscow time)! You will assist Florida Man through his whimsical adventures with $$$6$$$ tasks in the span of $$$2$$$ hours. The score distribution is as follows:
$$$\ \ \ \,$$$ $$$\ \ \ \,$$$ $$$\ \ \ \,$$$ $$$\quad\,$$$ $$$\quad\ $$$ $$$\ \ \ $$$
The problems were written and prepared by me, innocentkitten. However, this round would not have been possible without:
maomao90 for coordinating the round and carrying me in general;
Alexdat2000 for translating the problems to Russian;
all of our testers: Anonymous_Noob, chromate00, Error_Yuan, HappyPacMan, Hyperbolic, ishaandas1, _istil, LMeyling, mohit458, NayemVai, priyanshu.p, raztun, sevlll777;
MikeMirzayanov for the Codeforces and Polygon platforms;
and You, for participating!
We hope you find that the problems are interesting, and that you earn your desired rating gains! or losses, if you somehow want that
UPD 1: The editorial is up! Hope you enjoyed the contest!
UPD 2: Congrats to the top 5!
Div. 1 + 2
Div. 2
First clears
A. aryan12, 00:00
B. ankan.2526, 00:03 (Div. 1 + 2: arvindf232, 00:03)
C. Sunflower233, 00:11 (Div. 1 + 2: DE_aemmprty, 00:07)
D. suharius, 00:32 (Div. 1 + 2: Survivor_winner, 00:18)
E. myheartwaing, 01:50 (Div. 1 + 2: tute7627, 00:37)
F. N/A (Div. 1 + 2: maspy, 01:04)
By the way, I'm one of the organizers for the upcoming MIT Informatics Tournament! If you're interested, check out https://mitit.org/ and https://codeforces.net/blog/entry/137822.
hope to reach 1500+)
Looking forward to a very galactic contest!
As a tester, there are atleast 6 exciting problems to solve.
sounds like an interesting theme, can't wait to participate
Also here is a game I learned at a Summer camp: google Florida Man along with your birth date to see what type of Florida Man you are.
I have two florida mans
i will remember to wish you a happy birthday btw
lol I will remember to wish you one too
Mine was unexpectedly accurate
https://www.cbsnews.com/amp/miami/news/south-florida-main-on-lsd-accused-of-tackling-disney-guard/
so which one is it: do you use LSD or have you attacked a Disney guard before? (I am genuinely curious)
Can’t tell dude, I use my actual face here. But let’s say I have never been to Disney
-
I think that's the score of the problem not the rating (if you read carefully)
he probably didn't know ig, that both things are diff
He thought 500 rated problems were invented 2 days ago when innocentkitten wrote this blog.
Nice problemset! I especially enjoyed solving Problem C because it had an interesting implementation
As a tester, wow its the first time I have seen an announcement with centered score distribution
Nice art, hoping to bounce back to CM!
I did indeed bounce back
As a beginner[I can only solve questions with a rating up to 1000], should I join the contest? "
div.3 is better
you can probably do only the first question. Div3/div4 would be more suitable for you.
It's a div2 contest so you probably won't be able to solve many problems (typically 1, or sometimes 2, problems in div2 contests have <=1000 difficulty), so div3 or div4 would be better for your level.
Still, in my opinion, even if a contest is hard you have nothing to lose from participating (not even rating for your first couple of contests). Since it's your first one, your rating will increase a lot anyway. Also, there aren't div3 and div4 contests as often as div2.
When I started, I simply participated whenever I had time (my 2nd and 3rd contest were div2) — actually, I still do -, but some people probably prefer to only participate in beginner contests at first, and that's fine.
It's totally up to you. Just don't be disappointed if you find a contest difficult — you'll get much better with time.
Definitely,
And this goes for every contest that you are eligible to participate in
as a participant, i will try to climb mountains of problem C
Can u take me with u and climb together?
what's ur weight??
Don't worry about this!
fine
meowwwww
funny, isn't it?
How about we ski downhill?
are we good to go??
as a tester, all I can say is bless yourself for an exciting div2 round.
Great art for score distribution.
Also the first contest where magic will be disappeared, the standings will be less confusing.
hope to climb to specialist again
As a participant, this announcement broke the record for the shortest announcement. Second place
that an interesting round!
What are sixth and fifth images (3000 and 3500 points question) ?
needle & thread and crack in spacetime
Does it means D is harder than Ds in other div2s?
wishing 1300+ for myself
Good luck
Don't worry guys it will be an easy contest.. afterall innocentkitten is a Pupil.
Bruh u almost had me
+++
i think i ll be green in this contest
I hope that, good luck bro!
Hope to back expert :)
You can't
Al-Ayoubi == Salah7_a (^!^)
Hope to back specialist :)
I'm specialist now (^!^):
Thanks :
Happy new year to all.
As a participant, I can confirm innocentkitten is innocent
(small_announcement == small_statement)?yes:no;
yneos
The last small thing had me :)
I hope I become the 2250 rated eagle and fly through the contest :)
My guess for the problem topics:
A: Climb a tree faster than a Crocodile
B: Find the formula such that throwing Sulfuric acid does no damage to your body.
C: Climb the Everest in winter with no socks and bare hands.
D: Spot the difference in the 2 pictures faster than an Eagle.
E: Find needle in Haystack in $$$O(1)$$$ complexity.
F: Break the fourth wall. (Good luck!)
Looks like your guess about the topic of E was pretty close!
I am sure rainboy is looking for losses XD
lmao i'm loving this florida man concept, just reminds me of how i'm a part of such a wholesome community here :)
Maybe I'm not very familiar with the CF rating system or divisions, but what is the point of introducing problems with 3000+ rating in Div 2 contest ? Are there a lot of CMs, who can solve such problems ? Won't these problems be more useful in Div 1 ? I see, that score distribution and problems rate are not the same, still 1250 distance between D and E seems to be large enough for 2250 estimation for D. Just curiosity )
hhha,good luck!
After studying only Number theory and STL basics can i participate in this division 2 contest?? Hope! I will be able to solve few questions. Suggestions and comments about topic to cover after wards are appreciated.
(As I said in my previous comment) I believe that (as long as you're not disappointed when you find a contest hard, which you shouldn't be), you should enter as many contests as you can. Number theory and STL are enough for a decent performance, especially with practice.
If you're comfortable with basic techniques such as brute force, greedy and binary search, you should learn the basics of DP and/or (especially if you're also participating in olympiads) graph algorithms.
The most important thing to do, though, is practice by solving problems. Also, remember that it's more important to solve problems that require you to think a bit than to solve a lot of problems, so don't just solve, for example, as many 800 rated problems as you can, unless you find them challenging.
Thx for your time . It's so nice of you. I started cf last december only hence i think would take some time but i will be consistent i promise. Though i didn't still study dp ,binary search or greedy techniques, i will continue giving every contest and will work harder and harder for ICPC . Can u tell how many problems should i solve for each topic say number theory .
I'm glad I could help!
There's no specific number of problems you should solve — just solve enough to feel comfortable with that topic. Regarding greedy, there's not a specific thing you should learn (greedy algorithms are just the ones that always chose what looks like the best option at the time), so you should just practice — I recommend solving CSES Sorting and Searching problems for that.
You should also solve random problems (just filter the problemset by rating and solve the problems one by one), because it's important to practice not only specific topics but also problem solving in general. Start with problems with difficulty 800 and solve some until you find them easier. 30-45 minutes is the ideal amount of time a problem should take you for you to practice (Credit to Dremix10 orz for telling me this), so once it drops to about 15 minutes start solving 900, then 1000 etc.
hope to reach specialist!!!
Hope to reach 1900
Hi people and innocentkitten Is Rust not supported in this contest? The email I received mentioned only the following supported languages: "C/C++, Pascal, Perl, Java, C#, Python (2 and 3), Ruby, PHP, Haskell, Scala, OCaml, D, Go, JavaScript, and Kotlin." I’m new to Codeforces and wanted to confirm if Rust is supported, as the ProblemSet on Codeforces indicates that Rust is a supported language.
Hoping to reach pupil
hoping for pupil this round
D has 2250 points, damn!
these look like something in plague inc
This Will be My First Contest
i just want to be dark blue
Hello to all the candidates!
I want to ask a question that what are the rating of problems that have score distribution of 1500 typically in a Div. 2 contest ?
I am asking this because I am able to solve 500 and 1000 scored problems but find it very difficult to solve problems rated above 1000.
In the latest div2s with identical score distribution to this one's, the difficulty of C was between 1300 and 1600, so you can expect it to be somewhere in that range. However, the scores are just the difficulty of the problems relatively to the other problems of the same contest, so two problems with equal scores, but in different contests, might have very different difficulties.
Can I give this as it's my first ever contest. Like what will be level of the problems?
you can probably solve 1 problem or maybe 2
This is going to be my first contest on codeforces !!
Just curious why priyanshu.p has SO MANY skipped solutions?! Not just a single solution but all solutions of the contest — multiple times — and the last one in Sept 2024.
Check under my comments :)
huh weird. Same for 2021-22 as well? Dates of skip: 11 Dec, 20 Dec, 12 Jan... weird to say the least. I didn't know plag checker is THAT broken.
as a participant, i will not forget to participate!
as a tester hope to solve all 6 problems
Why is my hack 8 min in queue, is that normal? I never hacked before so idk...
Don't make any contest again.
what happens bro?
As a participant who did solve C, I agree.
Bruh everytime I got WA its due to me using int instead of long long literally fell from 2000 to 4000 f man atleast I learned my lession
What does this mean in hacking?
Validator 'validator.exe' returns exit code 3 [FAIL Expected EOLN (test case 1, stdin, line 3)]
how tf did 6000 solve C? Did it leak?
it was GTPable probably. I saw a few 1900+ rated people struggle with it. Dont know how so many pupils and specs did it within an hour.
I went through the code of a few low rated users, so many have gpt code. Having div2 C gptable is a joke.
are you sure about that bro? maybe i'm not good gpt-user, but just now i copypasted task to gpt, and he gave some wrong shit. maybe i should write some good prompt or have o1-version of gpt, idk. what i'm asking for, did you got the right code from gpt? try now pls
C is not that hard its just implementation and not overthinking values of x , (x can be anything) I wasted my time overthinking ;(
update: I was wrong x cannot be anything
It's false, $$$x$$$ can't be anything. This is exactly what makes this problem difficult. I also struggled with this problem today because of many wrong assumptions and bad shape in general, but I also don't believe 6k+ people solved it without any additional help.
I believe x can be anything (which is not like stupid/ taking things out of bound somehow), for example I took x to be 0. 300718337
I did x==0 and dont understand why me taking x==-1 will change the ans
I got the point now. "$$$x$$$ can be anything" in your case means "We can restore answer for any $$$x$$$". Then yes, I agree.
yes
Ok, I will clarify what I meant. I meant that not every greedy method works for arbitrary $$$x$$$. At least my methods didn't work.
I tried making x=1000 its working. if you are moving down you will never see current row again so make it equal to x , if you are moving right you will never see current column again so make it x
unfortunately it was gpt solvable. it's quite silly when it couldn't solve AB but C.
I tried using o1-mini on C, it isn't even close to correct answer.
x is hardly anything because I tried x = 1 for the third test case and it gives false equation.
After that I write out a few matrix and solve it by hand, somehow x = 0 is the way overall.
My example matrix is
When I solved it by hand, x is forced to be 0 so the matrix will have a legitimate answer, same as the test case 3. So I guess x = 0 for all test case and AC by a mere chance.
wait you are right i am getting this
its failing for last row I dont understand why
solve it carefully without assume x, you will get x = 0 so thats why I put x = 0 in my code and everything sorts itself out.
All the time I spent for C is solving linear equation by hand rofl.
I was really lucky to use x==0 then , 2nd testcase helped I guess
x * n = x * m must be hold for x
Bro just admit you copy pasted the question in GPT. Every loser does it these days.
me? look bro not everyone is noob like you lmao so you dont have to assume I gpt or not u can check my submission anyone can see lol
its pretty easy to get the logic from gpt and code it yourself. lol.
how exactly does one check if you got logic from gpt or yourself? What do you mean look at my code? How tf does the code reflect where you got the logic from? pretty stupid thing to say.
if its like this I can also say jiangly and tourist has used gpt, they have changed the code
Exactly my point. you cant tell shit by looking at the code. Then why do you ask people to check your code if it doesnt mean anything?
I mean he literally accused me of using gpt , I thought he might have looked at my sol and compared it with gpt. BUT I bet he cant even look at my code right now cause new accounts cant ,and still accused me. LOL
jiangly and tourist dont have skipped code. You do. lol. That too for a C. lol.
that is not skipped due to plagarism if you submit 2 answers one get skipped I submitted ans 2 times so one get skipped
I don't think "x can be anything" is correct, try x = 1 for the third test case, it doesn't work.
yeah I am also getting wrong answer for it
I tried different things but the idea was greedy in the end. I hope not to get hacked or something.
trash contest
Hi Kurisu.
love your profile photo <3
there should be a problem with florida man's twin brother fights him tbh
difficulty jump from D to E is insane (no complaints just a fact).
0 div2 guys solved E or F, gg.
UPD: 2 (one — former GM, two — dude who spent two hours on it)
E and F is insane even in a div 1+2, d is like 2k atmost
How do we solve C, other than solving $$$(n + m)$$$ linear equations?
Try to make matrix columns and rows all sum to 0. If you're going down you will never see the previous row again, if youre going right you will never see the previous column again
I did something similar in terms of "not seeing the col/row again", but don't you run into the problem at the last step of both the column and row requiring potentially different numbers that the 0 be assigned to?
I don't know the proof, but no. Everything seems to just work out when solving for the last row and column (although I handled it in a bit of a special case). My submission: https://codeforces.net/contest/2055/submission/300697452
breh.. I didn't try making the sum 0, but I tried starting with the top-left value being 0, and then just computing the forced values of all the other 0's....
Encountered the same problem, it turns out filling the grid from both ends at the same time works.
I also considered this, but how does that even work? at some point, the 2 ends meet and don't you get the same problem, just now somewhere in the middle?
your (n,m) column will be only cell left and you can manually make a[n][m]=x;
I dont know bro this is a scam problem
lolol
At first I'm also intended to do this, but I think again for every D and R on the path, either col or row will be filled out and leaving out only 1 hole to solve. So it doesn't need to be this complicated, just solve it from left to right.
It seems like the last element is magically work (both sum of row and col are not conflict each other).
I might need to read the editorial proof after this, just try it out by mere instinct actually.
I believe theres the invariant that (allRowsSum == allColumnsSum). This solution guarantees all rows sum zeros out or all columns sum zeros out. Leaving the final square guaranteed to zero out
what i mean by this is imagine having a 3x3 matrix, and the row sums are (0, 0, 0), try creating a matrix such that the column sums are (0, 0, α (α != 0)). Its not possible
Fix topleft cell as x and try to calculate the value of the other cells in the path according to the 1st row sum if first step is D else 1st col sum.
x*m = x*n this equation must be satisfied and for this equation x=0 is always the solution so we can use x=0 and then build the solution
everytime we go Down we have to make the sum of current row = x by filling the current cell with sum of current row — x
everytime we go Right then we have to make the sume of current column = x by filling the current cell with sum of current column — x
What ? Why am i getting downvoted ? Did i say something wrong ?
Just wanted to add you can solve the
n+m
linear equations if you use the fact that there is always a linear equation that depends on a single unset variable. The moment there is not you have completed the matrix. I done C this way.Fun problemset! Never thought i'd make expert orz
Recently up-solving I developed a fear for Linear Diop, Linear Eqns, LU Decomp, Gauss Elimination and had it on my list that I need to understand these concepts and code. While problem C might not be any of this, I was scared to my nerves by the end I read the problem. Nice contest though :)
I hear you, Some problems its hard not to give up before even attempting if its a subject you're not familiar with
im curious for those who solved C whats your thought process, please Enlighten me
It could be seen that $$$x \cdot n = x \cdot m$$$ as they are the sum of the matrix. If $$$n \neq m$$$ then obviously $$$x$$$ must be $$$0$$$, so I think we could make $$$x$$$ equals to $$$0$$$.
To make it possible, we could traverse each point in the path from $$$(1, 1)$$$ to $$$(n, m)$$$ and try to fill in each cell such that the sum of either the row or the column containing that cell, let's call it $$$(curx, cury)$$$, will be $$$0$$$. The path will guarantee that each time we traverse, either the row or the column only contain $$$(curx, cury)$$$ to be filled, and we can fill in the cell with the $$$-sum$$$ of that row or column. Submission 300689317
x * n = x * m is key to proof x == 0. Which is I lack but somehow I guessed it through multiple test cases.
Lucky me I guess
Luck. Look at third test case, that gave me the idea to just go through all special points and make the sum of row==0 if we are moving right at that index. or make the sum of col==0 if we are moving down at that index.
I solved C by merely guessed x = 0 will work for all cases after tested by hand a few matrix.
The solution is if s[i] = D means the a[i][j] will solved by the -sum(row), else -sum(col).
Kinda guessed without proof and AC like a charm.
who guessed the observation in 2C won the whole contest
What in the Itachi Crow Montage D was there today :}
hate questions like C which is basically guessing the answer.
I hate crows
please don't set again
how to solve E?
It took about 20 minutes to me to understand D :(
I loved the contest, although E and F look hard based on the submission count. I'm pretty sure I solved D 3 mins after contest end
too close O_O
If I were you, I would still sweat, because it has a very high chance to TLE on systests lol.
I survived xD
Problem C. I wasted my time trying to solve for an exact solution for the linear equations (I was trying to implement gaussian elimination -_-. It won't even fit the time). so according to what I read in the comments any x could've solved it. so there are infinite solutions then? like the case where we have 2 equations of overlapping lines?
"any x could've solved it"
no,
sum_row * n = sum_column * m
must be holdBut it says sum of values in each rows = x and sum of values in each column = x then why we need this sum of all column = sum of all rows(I.e sum_row * n = sum_column * m)
Because
sum_col*m = total_sum
andsum_row*n = total_sum
hencesum_col*m = sum_row*n
I changed the code for being sum =0 then also it give wrong ans at case 5k in test case 2 .....can you say why....300746771
Actually I earlier I tried to make sum of 2 row or 2 column or 1 row and 1 column equal i.e 1st and last then I change it for sum =0 still wrong why
Can you tell me that plz?
Problem C was a dumb guess and problem D was too hard. Please don't make such problems.
d is just 1 of those math+adhoc div2 d, not that hard
On a contest page under "Contest materials" section I see cross buttons on "Announcement" and "Editorial".
What will happen, if I will push them?)
they skipped my solution for A
its literally
explaination please? lol
It's skipped because you submitted another solution when the contest is still ongoing (Only the second submission is considered, and you also got a -50 for the resubmission).
no way , if i get accepted and resubmit another accepted i get the first accepted as a wrong submission ?
In scoring-based contests like this, then yes. In ICPC style contests though, then it's safe to resubmit another accepted solution.
Looks like you had a second submission? In that case, the system will only judge the last one.
when I try to go to editorial it says you are not allowed to visit requested page
yep! I opened that around 15-20 mins ago worked but now not woking :(
Couldn't solve C because i didn't see that x should be 0. Just wandering if there is some kind of strategy for solving observation problems like this one
The link to the editorial doesn't work (It says "You are not allowed to view the requested page"). innocentkitten please check what's wrong.
UPD: it's fine now, sorry. I'm not sure why it didn't work before. (I checked it again right after posting this and it was OK)
I can't believe that I only managed to do C because I tried a different value, still got 0 on the final column and just assumed we need the sum to be 0.
Speedforces
was this contest rated???
My hack data was not added to the final dataset.
My hack data
Submission after contest
Same here for my hack on F.
Why is it showing in my unrated section. This was my first contest here
I can not understand testcase 2 of problem B during contest. so sad!
Another way to solve C. A without guess solution for C is to assume grid[0][0] is a then derive grid[i][j] on the path in terms of a
obviously sum or row 0 = sum of row i or sum of row 0 = sum of col i and sum of col0 = sum of row i or sum of col0 = sum of col i
Pick col or row based on path value is ith char is 'D' pick row else pick col.
then a + some constant1 = b + some constant2 where b is some element on the row/col
then b = a + some constant1 — some constant2
There will be at least 2 unknown values in terms of variable in any of the columns or rows by pigenonholde principle. derive some of that multiple unknown values column/row it will be y * a + someConstant2 where y is number of unknonws;
compare it with first row/col (a + someConstant1)
a + someConstant1 = y*a + someConstant2
where y and constants are known solve the equation and you get the value of a.
Now you can get all the values as you earlier represented them in terms of A following the path.
i
I changed the code for being sum =0 then also it give wrong ans at case 5k in test case 2 .....can you say why....300746771
Today C was totally Gpt Solvable , I have seen that almost solution are same , I am sharing the link to Gpt response, Where it gave almost 99 percent correct solution. Here you can you see. I think that problemsetter should check. So this can be avoided from Next time.
Your text to link here...
The key observation here was that the sum of all rows and columns is 0, which I don't think the gpt has realized. The implementation was obviously very easy But then again, I haven't checked by prompting the gpt again and again, so not sure
It's very difficult to make only the problems that are not gpt-solvable nowadays, and it will be getting even and even harder. It won't even take years for gpt to solve almost every 2D problems, no matter how the problemsetters try to avoid it.
Making contests is already a tough procedure and I hope we don't add additional pressure to the setters to give up many interesting problems just because they are gpt-solvable. It's more of our community & admin's work to strictly behave against those who break the rules.
Bot check ankan.2526 please, the first solver of pB.
The submission patterns look very AI assisted.
e.g. writing in 3 programming languages, not passing pretest 1, trying problem D and E within 1 minute.
he 100% used AI
Thank you for such an enjoyable contest. I was able to solve ABC quickly, and with just one more contest at this performance, I'll reach expert! :0
Hope i solve 3rd one and stay consistent :)
What is the difficulty rating for div2 D?
2000+
How about problem div2C bro?
1400 you can check ratings for problems on clist.by
So, according to the note in Problem E, the Florida Man's name is by any accidient Emporio?