Hello, Codeforces!
Winter holiday is coming! And we are excited to invite you to our third round, Polynomial Round 2022 (Div. 1 + Div. 2, Rated, Prizes!), which will be held on Dec/17/2022 17:35 (Moscow time). You are given 8 problems and 2.5 hours to solve them.
All problems were written and prepared by Ecrade_, Little09, ChthollyNotaSeniorious, JianfengZhu, Cirno_9baka, mejiamejia and me.
And thanks to dorijanlendvaj, gisp_zjz, gamegame, triple__a, Chenyu_Qiu, Suiseiseki, aaaaawa, leukocyte, waaitg, Kubic, LHQing, RedLycoris, lucaperju, njupt_lyy, Kilo_5723, Huah, prvocislo, foreverlasting, thanhchauns2, Rhodoks, JohnVictor, Psychotic_D, VinstaG173, dannyboy20031204, 4qqqq, CoupDeGrace, wsyear, 5ab, Lavine, absi2011, UtopianZ for testing and good advice, antontrygubO_o for his excellent round coordination and help with preparation and MikeMirzayanov for great systems Codeforces and Polygon.And you, for participating!
This is our third round! Although you may find members in our team and testers who helped are not the same as the past, our permanent love and enthusiasm for coding will not change. Conspicuously, great efforts have been put in it. We are sincerely looking forward to your participation and we hope everyone will enjoy it. Besides, this round is sponsored, which indicates that everyone has an opportunity to get the prize!
UPD1: Here is the score distribution:
500 — 1000 — 1500 — 1500 — 2000 — (1500 + 1000) — 3250 — 4000
UPD2: Sorry to everyone! We must apologize because the pretest of B is not strong, leading to FST for many people. It is our fault! We don't want to make excuses. This time, we did a bad job and let everyone down. We all blamed ourselves sadly. Although we have invited a lot of testers but most of them passed all the tests, and even some of them get 'WA', they fixed their code and passed it. So we didn't pay too much attention to it -- we thought it was 'normal'. However, we didn't suppose the pretests were so weak that lots of participants get FST. Sorry again! (>_<)
And personally, firstly, I must apologize to all of you. I let you down this time. I blamed myself sadly. And I accept all the critical opinions. However, secondly, I know that you must feel angry when you find your B got FST, and that's all our fault, but because my birthday is coming, I intended to use this contest to record the growth of me and my team members, as well as my happy memories on codeforces, so could you please don't scold me too harshly when criticizing me? (Actually I am crying when typing this words; I blamed myself sadly when I saw lots of FST). I will regard all your comments as the most valuable things which urge me to become a better person and help me grow to a more mature person, but maybe I will be very painful if I see comments or messages as 'you are a trash''trash round'. (⑉꒦ິ^꒦ິ⑉)
Sorry! We did a bad job because of our carelessness this time, but we promise we will try our best to improve our comprehensive abilities, and bring a better round next time! We will keep in mind every word of encouragement and criticism, which is the driving force for our growth. Wish you happy everyday! (•ω•)
UPD3: Tutorial is available.
Thanks for all the warmth and kindness!!! I felt deeply guilty during the past few hours, now I feel better. I really appreciate your warmth and kindness!!! (●'◡'●)
We made the contest just because we would like to share our interesting ideas with you. If you like any of the ideas, we will be very delighted!!! o(≥ω≤)o
UPD4:Congratulations to the winners
And for my personal gifts: the two random number is 91 and 1028, so congratulations to sd0061 and regain0001!!! (The rank contained the virtual participants at that time, which improves randomness, only if the time and the rank both accorded with the number , you can get the gifts!!!) o(〃'▽'〃)o
Thanks to all the warmth and kindness!!! You really light up my heart!!! We will try our best next time and prepare a better round to share our interesting ideas with you!!! ✧⁺(๑•ω•๑)⁺✧
![](/predownloaded/f2/15/f2156a4f39e6026e0bb79a2dfa78213da71595c2.png)
And here is the information from our title sponsor:
Prizes
The participants who end up in the first 255 positions will receive prizes. The participant on the first place will receive $256, the next two participants will receive $128, the next four participants will receive $64, etc. Prizes will be distributed in OP (Optimism) tokens.
About Polynomial
Polynomial is building in decentralized finance – a more fair, accessible, efficient, and transparent financial system enabled by crypto. Polynomial automates financial derivative strategies to create products that deliver passive yield on various assets. Polynomial Earn is the first DeFi Options Vault (DOV) that executes completely on-chain by selling options directly to an AMM.
If you have a background in mathematics or software engineering and a knack for problem-solving, we want to hear from you. You will have the opportunity to work on cutting-edge technology and tackle complex problems alongside a talented and driven team.
By joining us at this early stage, you will make fundamental decisions that will shape the course of Polynomial. We prefer passionate, quick learners with a history of excellence.
Find out more about us on our website polynomial.fi or texting rivalq.
If you wish to be part of our remote-first team or apply for an internship, please fill in the form or email [email protected]. Make sure to apply before Dec 20, 2022.
We wish everyone good luck and have a positive delta!
Wow! Really excited about it!
Wish you good luck and have a nice time! (๑^ω^๑)
Thank you. (..〃•ω‹〃..)
And tell you a secret: I will choose two participants randomly after the contest and give them some gifts made by myself!
-- AquaMoon
Yes! Welcome to our round, maybe you will be the lucky dog who can receive lovely gifts! (✪ω✪)
As a tester, I regreted testing because the round is too great. I would prefer participate :sadge:
Edited: it would have been a great round without such an issue.
Wow! Thanks for your support! (●'◡'●)
As a tester, I think it will be the best round of year
Unable to parse markup [type=CF_MATHJAX]
. I would also prefer to participate.UPD: sorry for such an issue.
As a participant, I will participate in the [expression with all powers of the variable non-negative integers] round.
Cute AquaMoon!
Cute Little09! o(〃'▽'〃)o
As a writer, the problems are interesting!
Yes! Btw orz ChthollyNotaSeniorious (>▽<)
Since the title is literally "Polynomial round", please predict number of FFT problems
0
1
2
3
4
5
6
7
8
Maybe the title influences on the tasks scarcely ✧⁺(๑•ω•๑)⁺✧
Wow! Interesting! Hope for positive delta! (give me IM)
Wish you IM (●'◡'●)
Wow!!! Hoping for a great round again!!
Wish you good luck and enjoy yourself! (๑^ω^๑)
So, how to do D? It seems no less than impossible
Sorry, not our round (●'◡'●) please click here : https://codeforces.com/blog/entry/110056
oh, wow, sorry
That's all right! And welcome to our round ✧⁺(๑•ω•๑)⁺✧
can problem D be solved with random?
Sorry, not our round (●'◡'●) please click here : https://codeforces.com/blog/entry/110056
My man got time machine
Technically yes. There exists a random order of operations that happens to be the correct order of operations. But random is most likely to be as successful as BOGO sort. (Which means that it will probably not work)
In this case, I think most random algorithms (I can think of) works poorly when N is small. Also this problem has mutitasks in a test case, so the accuracy for small N may need to be larger than 1-10^9... But algos based on random still have chances to AC this problem
Excited for the round after having an unlucky round today :)
Wish you good luck and happy everyday!!! Don't be upset !!! I believe you will have a good time (๑^ω^๑)
Thx for the motivation... I also hope for ur red again :)
Wow AquaMoon round so excited.
Thanks for your support! Wish you good luck! o(〃'▽'〃)o
Cute AquaMoon, cute round. ♡
Missed it tho. :[
Why mejiamejia "writes" so many rounds but I haven't seen any of his/her problem except A? I don't know if the codeforces rule works on him...
Mejiamejia is said to have proposed 3 div1F, he is currently hibernating because it is winter, please come back in april at deltix lab round 5
Why mejiamejia need to hibernate? I think a human being is not need to hibernate.
He has transcended to god level
There are many so called setters that just want to farm author or something ( not saying mejiamejia is one of them, because I don't know ), there are many rounds in which people appear as writers even tho they didn't set a single problem.
Look at this, a D2D that has 6 chinese authors, which I think it's cap.
Some Chinese author who is just a Expert, such as mejiamejia, don't really improve its competive level, but obsessed with creating boring problems and becoming a sorry co-author, which seriously affected my impression of the Chinese round. Should Codeforces do something to prevent this?
Apologize for just seeing this picture. In fact, the author of that problem should only be ChthollyNotaSeniorious(idea) and SSerxhs(data). What I did is just to translate a simple statement to make the coordinator understand the idea.The final statement is also by SSerxhs. This doesn't mean that all Chinese authors are like this. I'm sorry this give you a bad impression. There are still many good Chinese authors with interesting ideas. I also hope codeforces can have fewer such people.
As a writer, hope you can enjoy the contest and my problem.
orz DataStructures (>▽<)
As a tester, the round is awesome!
Thanks for your support! (●'◡'●)
The moon shines, thank the moon.
Is this rated?
Yes
Codeforces: Daily Contest![](/predownloaded/e2/68/e26868b84e730ad494cf852dec36749d3a328092.jpg)
Maybe it is a good opportunity to improve your comprehensive abilities in coding! ✧⁺(๑•ω•๑)⁺✧
Hoping all contests to be exciting.
Interesting sponsor title, will it have math questions? (=^・^=)
This pet in image is so cute :33 W_W
Thanks! It's my favourite ~ o(〃'▽'〃)o
Hopin this is not CombinatoricsForces.
What's so bad about Combinatorics!? Its my fav!
Me noob bro. You orz.
Congratulations for CM.
Thanks buddy :) and yeah, never think that you're noob or less capable!
So are there a lot of problem (4 problems or even more) of polynomial? (just a joke)
Cute Girl Doing Cute Things
I would very much appreciate if major rounds were announced some time in advance. Div1 is already scarce, it's sad to be unable to plan ahead.
Cock
How to solve C ? UPD: I thought this blog is Educational Round 140 announcement LOL!
AquaMoon that's the cutest profile i ever saw on cf. Any chances for FFT tomorrow?
what's the meaning of FFT?
Funny Friday Today
Fast Fourier Transformation, algo to deal with huge polynomials as i know
lol
AquaMoon, how many different text emojis do you know and use? :) Out of your comments on CF, almost every one has a unique emoji~~
(〃•ω‹〃)
Mildly annoyed that I seemingly always run into some sort of conflict for AquaMoon contests, soooo I'm thinking if I take a train tomorrow morning, I can compete for 1.5ish hours while sitting as a passenger rather than driving and missing out altogether... great idea or best idea?
Be happier bro, the round written by mejiamejia always turns into a sorry round. I wish you a pleasant journey!
At least do not hide in an anonymous account, write comments with your main account !
Hope to solve A & B in this div
Me too.
Are You Comedy Me?. You have participated in just one contest in 4 years.
As a participant expecting to be a good round. best of luck to all as well.
my english is poor, I hope this round will have a great description about problems
Sometimes even if your English is good you still cannot understand the problem bcoz they twist the problem . but wishing best for you.
Hoping for Quadratic formula task!!
I guess we will miss today's world cup match ):
Don't worry, tomorrow's World Cup final will be more exciting. Enjoy this round!
Hope I rise up again to Specialist Excited!
It is time to reach 1700 scores,just today!
Can anyone link to past Polynomial rounds ?
Hope to become Master __
all the best brother
are you going to post the score distribution for the problems ?
Updated. o(〃'▽'〃)o
1500 Points in Div 1 .. What's equal in div 2 ?
The score distribution of combined rounds are similar to Div.2 (at least in my experience)
Three 1500pts, difficult strategy...
As an all-getter of 1500, the true difficult thing is when I start hacking. So sad.
I hope this is a wonderful contest,and everyone can get a good ranking.
Hope everyone will have a good time!
is it rated for div 3?
This round is rated for every user.
All ABCD are pure trash. I want to downvote every of them.
trash, weak samples
What's B's pretest...
Afraid... So many successful hacks... Will it be FSTforces?
the worst pretests !! any one can hack most of his room !
My solution is also wrong :(
Hackforces.
View room32 if you want to know more.
Hackforces! (even I got hacked once, lol)
The round score is determined by luck depending on how many other users there are to hack in my room.
And also if only one notice that he can hack most of his room which is unfair for all competitors
The first time that I realize the importance of a nice room.
Thank you for a fun round. // Got hacked.
Problem B :)))
thanks for saving my rating by making these pretests ))
What's up with codeforces and trash pretests these days?
Pretests for B are soooo weak
True
True
In problem D, i am taking the first row with maximum ones and second row with minimum ones and swapping the column of that rows with different value.
What's wrong with my approach?
did you check if the column's value of row with maximum ones is 1 and the minimum's is 0? because if you just check if they have different value, then you might just adding more 1 to the maximum and removing from the minimum
very stupid mistake :(
it's ok, we all learn from mistakes
Spent 1.5h on B and C...
Yet immediate idea for D... if it doesn't FST, I just don't understand what was the idea of it because it was the stupidest bruteforce without thinking and my only concern was that I should impl it in cpp because seeing 1e6 operations is scary
No hacks for D apparently. It will be interesting if there will be many FSTs on D as well.
Nevermind. Here is the logic of D:
There will always be a spot for which you have 1-0 if you still have a different count of ones, because you have target — 1 and target + 1 count of 1s. That is all. Therefore it doesn't matter what order you choose to do the place swaps.
Hackforces.
It's very sad to see participants hacked a not hard problem through the same data and gain high marks.
First time solved A-E in div2
Hope I can pass System Test
Maybe I'll be purple if all accepted
Holy, Hackforces and many ABCDEs passed me(ABCDEf)...
If f were 2000 or higher :,-(
WTF? I got hacked 1 minute before contest ends. in Problem B
same
that hacker must be smart though, so you couldn't go and hacked other people that he would then hacked
How to solve problem B ?
It's all about comparing the number of people who write B wrongly in their room.
For anyone wondering, try
1
17 5 4
5 5 5 1 1 for B
.
What is the correct output for this input?
NO
HackForces.
The pretests for B are too weak.
And it's unfair that many people get high score by hack others,but I was too late to hack others.It depend on other people in your room.
As if solving A-D wasn't painful enough already. Not a nice round. E was gorgeous, other problems I won't comment.
Why shouldn't there be a problem once in a while with some weak pre-tests? It's an opportunity for us all to hunt down bugs in others' code.
There is no guarantee that pre-tests are going to verify your solution to the problem. You're supposed to write a correct answer without depending on pre-tests.
There are very few opportunities for hacks on Codeforces rounds when the pre-tests are extensive and, in fact, most rounds have almost no points for successful hacks.
Let's mourn for Mr_Eight's $$$\operatorname{L\color{red}{GM}}$$$ /(ㄒoㄒ)/~~.
What happened: Mr_Eight is a handsome and powerful CPer in China. He became $$$\operatorname{L\color{red}{GM}}$$$ last month, gaining $$$\operatorname{L\color{red}{GM}}$$$ for his all 3 alts. However, A sweet fruit is short-lived. He lost his $$$\operatorname{L\color{red}{GM}}$$$, just because he attempts to solve G and doesn't notice the hack in B. He find all hackable solutions hacked before he can find out how to hack, while over $$$\frac{1}{3}$$$ of the guys ranking above him is above him because of hacking.
I feel very sorry for him. Had he conquered G or even revised his B and hacked before qtpk(he hacked 14 including Mr_Eight), he'd not lost $$$\operatorname{L\color{red}{GM}}$$$, even gaining some rating instead (>_<).
But he still have 2 $$$\operatorname{L\color{red}{GM}}$$$ alts. We can still orz to him(>▽<).
And nobody solved H?
Probably going to lose inf rating to subtasks and hacking :(
btw, how to solve F1 without solving F2?
F1 is is brute force . You can implement it with map in O(nlog^2n).
Although I didn't manage to do it in time I solved it with a treap. I relied on the fact that $$$x \leq 2 * 10^5$$$ and made a rope to easily deal with a second type of operation.
Bruteforce
Assume total damage is $$$x$$$, now it is easy to calculate total damage because it will be multiplied by $$$2$$$ after each $$$repeat$$$ and added after each $$$attack$$$.
After a $$$repeat$$$ operation every pig with HP > $$$x$$$, let's call it $$$h$$$ will clone a pig with HP $$$h-x$$$.
so when $$$repeat$$$, it will clone and when $$$attack$$$ , each clone attacked together.
now we just need to calculate how many $$$repeat$$$ operations can make a pig alive. so there are such $$$O(logN)$$$ choices.
so it is solvable in $$$O(NlogN)$$$.
Sorry for the weak English.
After a lot of suffering, I finally become CM! (but partly because of 5 hacks, but.. ugh.. it doesn't matter lol, i still performed great without them)
i am waiting to be hacked!!
Can someone share the approach or solution for C.
include<bits/stdc++.h>
using namespace std;
define int long long int
int32_t main(){ int tc; cin>>tc; while (tc--) {
}
Hackforces :(
Hackforces! Very weak pretests in problem B.
1
13 5 3
1 1 1 5 5
What is the answer Yes or no
The answer is NO. All the hacked submissions missed the condition that the number of colors $$$i$$$ satisfying $$$a_i=\lfloor n/k\rfloor+1$$$ must be less than or equal to $$$n\bmod k$$$.
Can't believe there wasn't a single testcase in all those pretests checking for this condition !
I thought we got over this. :(
ABCD are all leaked on Youtube and Telegram. Vast majority of cheaters and leakers in this round are Indians. Why do Indian people do this? No wonder your country is a shithole
I hope Codeforces permaban all accounts that copy solutions from Youtube during live contests. If I make a small mistake and couldn't solve all of ABCD in any round, I'm going to lose like 100 points for rounds. Fuck the cheaters
for example, guess the ethnicity of the leaker in this channel? https://www.youtube.com/watch?v=aSMMDgjKXNY
IMO c is quite hard and probably rated at at least 1600, 1700. No fucking way it has 5k AC.
Happened in yesterday's contest too where D got leaked
A recurring theme here at codeforces :(. We've seen this happening too many times...
I agree that cheating is a problem and that harsher punishment to it is required, but saying that a problem has 5k AC just because of cheating is insane. I find it incredibly farfetched to believe that even 1k people ACed C by cheating.
why do you think it's farfetched? a single leaked solution has 1000 views, and that hasn't counted thousands of accounts on telegrams. I'd go as far to say 1k the least number of copied solution.
And my rating is around 2000 and i struggled quite a long time with it (~30' or bit more). I remember seeing at some point the number of AC just went from ~2k ish all the way to 4,5k in a short amount of time.
And to be fair, the cheating problems mostly affect beginners who are still learning how to solve ABCD of div2. They will never get to their true rating because of cheaters. It less likely to affect people who rate 2000 or higher.
What? How? Why?
Undoubtedly the worst round I've ever participated. I can't believe my eyes when so many hacks happened in B. Some people solve two problems less than me but rank higher because of the hacking. Hope you will pay more attention to the data next time.
I think you worry too much about ranking :) You should mostly judge the round for task quality, i.e. if it was fun to solving them.
p.s. I do not say that I like/dislake this round and its tasks.
I solve A-F2 and I don't like A-D at all. E is somehow interesting but I stuck on some wrong ideas :(. F is a pretty good problem. But anyway the whole contest makes me feel annoyed because of those issues. I can't judge a contest only by the problem quality.
I personally don't mind getting hacked on B. But as you also said, B-D are quite boring and a waste of time. I don't think greatly of F either, although I must say that E is interesting. I liked the dp+greedy idea there and it is pretty intuitive. H seems pretty good too, but I am nowhere near solving it. Overall the second half is much better, which is a bit sad since less than 10% of participants get to experience it.
I am so sorry about that! (T_T) Thanks for your suggestions! We still have lots of details to improve, and we will work hard to improve ourselves. We make the contests just because we have love for coding , we hope to share our ideas with others and make you happy about this ideas. But we did a bad job and let you down. (>﹏<) I am delighted to know you like E and F, I think the aim of us is sharing, even only two ideas make you happy, I think it is the most valuable thing we got. (⊙ω⊙)
Hacking is part of Codeforces. We need more rounds where the pre-tests are not a crutch for all the participants and some incorrect solutions can get hacked.
For people wondering why their submission of problem B got hacked.
This is the hack test case:
1
4 2 3
2 2
Correct Ans — NO
There are more, a lot of people (in my room) dodged this one with
if (K > m) { cout << "NO"; }
but still had incorrect solutions.Shit!
I am still in danger then :/
One of my hacks was this:
Basically the person was only checking how big the largest $$$a_i$$$ was. This is not enough: in this case, having one or two $$$a_i$$$-s as 3 would be fine, but having three 3-s is impossible.
But in general I'm not sure if there was just one major hack. It seemed like people were just missing random cases with their logic.
Fuck my solution doesnt pass this test case.
LOL I hacked 10 solutions and now even my code doesnt pass this.
Really weak tests cases then!
Can someone explain Problem F1 in Python: Basically I created a 200.000 long list where the number in the list is the amount of pigs and the index is the hp — 1.
I tried:
which gave me a TLE and:
which gave me a MLE.
I am new to codeforces and hence don't even know the basics :(.
Thank you very much. It was a fun round.
The issue is that it is still too slow. You could be doing $$$N$$$ operations for every query in the input. This means you might do $$$O(N^2)$$$ operations, which is too slow.
In problems like this the challenge is usually not to write a program that generates the correct answers somehow, but to write a program that does it quickly. That is the hard part.
Only 282 people solve F1, but it only has 1500 point? hacking problem has more benefit than solving problem? I don't think is a good mechanism.
Pretests on problem B were garbage!
Pre-tests are not a guarantee for you. They are just a convenience. You can write your own tests anytime you like.
Your solution is supposed to be complete and work whether you pass pre-tests or not.
Ok, so you made 10 more tests when your B passed pre-tests, aren't you?
given n rooms with m people, the room is called nice if it has x >= 5 x is the number of people who's will get hacked in problem B, print Yes if the room is nice
Very weak pretests for b
Thanks for the refreshing opportunity to hack something!
Personally, I prefer pretests that do not cover everything, so that local testing is more important.
There was a post, that described why hacking is actually bad ('cause your solution can be used or published by people who solved that problem and saw your solution — they can share it to their friends or something)
Not only does it increase the importance of local testing, but it increases the importance of being the only hacker in the room, having many wrong solutions in the room (which some people call luck). Also, in the case of this contest, hacking becomes equal to solving hard problems, which is not cool. Also, some people (including me) don't look at the scoreboard often, so some people (including me) weren't aware about hacking going on. Also, some people (including me) don't look at the screen all the time, so some people (including me) are late to realize that they have been hacked.
But hey, hacking (and in my opinion the whole scoreboard) is just a tiny part of the contest.
All that good man. But in this contest, hacking more problems was giving more points than solving an additional problem. It was all about are you dedicating your time to solve one more problem or to hacking.
Yes, exactly. Please don't be concerned with the ignorant down voters. Hacking mistakes is part of the Codeforces competition and the over-careful pre-tests of recent competitions have robbed us of all chances to gain with successful hacks.
weakforces?
Hackforces :/
Got nutmegged by the problems.
WHY ON EARTH there are Subtasks in F?
How to solve E?
How to solve A?
Watch this if you are comfortable in hindi
Are there good tests for B in system tests? I think yes. I wonder if none of the testers got WA on those.
Am I the only person who not only got hacked on B but also wasted one hour on that problem because the wording threw me off? For some reason, when I read distinct I didn't think distinct any two, I thought there had to be some that were distinct. Did my brain just shut off, or?
weakptforces!!!
The problems are good, but the pretests of problem B are too weak.
Lol, excuses of the author are actually funny to read. Is it only me who doesn't understand why the author needs to provide any excuses for problem B? The weakness of the pretests is OK, nobody guarantees you that pretests will be strong, in the good old days of Codeforces pretests were always weak which led to interesting rounds with a lot of challenges.
To everyone who still demands strong pretests for every problem — please stop it. If you don't like someone breaking your code, you have plenty of competitions without any challenges — ACM ICPC, CodeChef, etc. Don't ruin fun for everyone else and don't make authors of the rounds feel guilty when they've actually provided well organized round without bugs in reference solutions and in tests.
It really only makes sense for someone to complain about pretest quality if they're orange+, so relative standings have large variation from room quality. Seeing greens complain about weak pretests is hilarious — dude, just write the correct solution.
In the Google Code Jam of 2005, Sergio Sancho of Argentina won first prize globally. He didn't solve the hardest problems; only Eryx of Poland managed to do that out of the 50 world finalists.
No. Instead, Sergio was the most surgical and careful in picking out the errors in the code of other world finalists in a complicated tree computation that overlapped with some combinatorics and graphs. He found the pathological cases that made other top coders' solutions time out.
It was a great victory. Even the best in the world need to learn to read others' code and pick out the problems.
Weak pretests is one thing, but I wouldn't dismiss the other (more legitimate in my opinion) criticism expressed by many commenters: hacking based on rooms.
If hacking worked like Edu Rds where anyone can hack anybody afterwards, it would be quite fair. The issue is hacking gives points and is restricted to room. Look at the top of the scoreboard. It's a flurry of pts from hacking going down. So the places are being determined by something out of competitors' control, which is how many other people made a mistake in their rooms. We've effectively introduced randomness into a game about skill.
As an aside, I don't think "the good old days" is itself a good reason to keep things the way they are. Formats are determined based on what the majority prefers, and the trend and design of contests in the past few years have shown that generally, people of all rating levels don't find a hack-heavy contest enjoyable.
However, if everyone can hack everyone, the first person who finds out the weakness of the pretest can hack hundreds of people, which can gain him enormous points.
I was actually thinking of something else altogether: allow hacking of everyone but don't give pts for hacking at all, so the only incentive for hacking is to bring others down on the scoreboard which implicitly pushes you up.
I guess the flaw of that idea is there would be no incentive for you to hack people below you (unless you just enjoy hacking/making others fail).
Or maybe, still keep rooms, still have infinite hacks, but only give points to the first 3-5 successful hacks? After that, you can still hack, but it will not count toward point total.
Maybe a better option that doesn't make hacking completely obsolete, but doesn't make it this broken, would be that you only get points for "new" "relevant" extra tests? As in, when you try hacking a new solution, codeforces will first of all, even before allowing you to create a new test, test it against your older hacks? If the solution is susceptible to the old hacks you have personally made before, then the solution will be hacked, but without giving you any extra points for it. And maybe allow more people to hack the same solution for points.
If there are no bad solutions in your room, you're free to go on and solve more problems instead. Nobody is being denied opportunities.
If anyone complains about lack of bad code to hack in his room, maybe he should have been one of the 12 who solved problem G which was worth more than any hack. Or even problem H which scored even more than G but nobody finished it in time.
Therefore nobody has a legitimate complaint about the random distribution of rooms.
I think the fact that some people don't need to solve G/H because they've been handed a free 1000+ points from their lucky room is a very legitimate complaint.
I started hacking B in the last 15 minutes, only to find that 80% of all submitted problem Bs had been hacked and the rest are all correct. It's all about the number of wrong submissions of B in the room and the time you start hacking. That's unfair.
SUN.LOVE can you please provide the test case which you used to hack my solution..others too can get the idea.
1 101 10 10 11 11 11 11 11 11 11 11 11 2
Hint for E?
Dfs with sub dfs from each node that scans only within the
d
range, though it seems inefficientFirst try to solve easier problem when second piece doesn't have to visit any nodes
Root the tree at 1. What will you need to do if you want one of the pieces to go to a node with depth that is greater than
d
?Think about which nodes are "must-visit"s, where both of the chess pieces have to go through (hint: if there is a node in a subtree of $$$u$$$ that one of the chess pieces has to visit, that piece must visit $$$u$$$)
Maybe this comment is kind of furious, but I want to say that this is the worst codeforces round I've ever met. Not just because the absurd gap between E and F (1059 and 282), but also because of problems themselves. I don't think that such problems include too much detail to be coded should appear in one round. (I don't mean that detail isn't important, I just think that requiring too much detail in one competition isn't good) And the most important problem is obviously problem B. It is another probelm about detail. You can even easily gain 1000 or more points simply by using the same hacking data. Hacking is truly an important part of Codeforces, but Hackforces like that is, in a word, ridiculous.
Couldn't agree more.I solved A~F2,but some people solved A~E and ranked higher than me by hacking 10+.It's unbelievable.
This is so irritating to read all these complaints about weak pretests.
I will make sure to go over every comment which complains about weak pretests and give you a big fat downvote.
Jump on Tree may help you to solve problem E.
Also, Vlad and Unfinished Business.
When you hack B but your own solution get hacked 🗿 🗿 💀
:-(
but some people get more points
Hacking more problems was getting you more points than solving one extra fukin problem. LMAO ded.
What's wrong with this B question! :-(
Hackforces
Nice round, as AquaMoon rounds tend to be.
Good problems!I enjoy being hacked :(
Thank you for the contest. Pretests on B ruined the experience tho. Some people legitimately had to choose between hacking others or solving problems. Was unnecessarily stressful last few minutes.
The contest made me realise it again that passing pretests is not enough to get the solution accepted.
A good lesson that should be taught more often.
Damn, I got "denial of judgement" on D. And the problem B is absolutely the worst. Yet another single observation problem, where everyone either see it immediately and get instant AC or suffer for eternity and need to skip the problem. But at least pretests were very weak, which is in my opinion very good for this kind of problems. Also, I believe I've seen this B somewhere before, which is frustrating, as I hated it first time as well.
What is denial of judgement?
The checker failed on my submission.
Hey it was a really amazing contest. The problems were really nice and used quite a good variety of concept. And also had a good and elegant solution for each problem. What happened on B is obviously not something anyone would have intended and these things are going to happen when we have so many contests.
Thanks a lot for an amazing set of problems and enjoy your birthday :)
how much you make this round from leaking solutions? You don't even have any submission on this round and commented "amazing". Obviously to avoid revealing yourself as the leaker. What a fucking joke
Its way more likely he participated on a alt account, considering he just got red.
Kind of weird to jump into conclusions just because the guy is indian.
@definitelynotmee you must be new here. Tons of examples on Indian who cheated all the way to Master+ rating. The higher their ratings are the more sophisticated their cheating methods. Some even rewrote the solutions to avoid detections.
But the leakers are definitely at the upper echelon. Sure it's not certainly it's him but it's likely.
Justifies jumping to conclusions by jumping to more conclusions
Wdym "you must be new here", lol. Respond me with your real account so we can see who's new.
Anyways, I assure you the leakers are NOT at the upper echelon because through all contests I did I've yet to see a leaked problem that is above blue level. Therefore, if youre blue+ I doubt cheating would affect you in a significant way.
Of course there have been cases of cheating on high rating accounts (there has even been a case of a LGM cheating by using a joint account, and they were not indian!), but they are rare and therefore dont affect the ranks that much.
I'm not going to DM you using my real account just because you ask me so.
It is true that most leaked solutions are mostly blue or below, but for me for example, I had roughly 30% of the time when I'm not able to solve all of ABC, while I would solve D+ quite often, and my rating dunk at least 50-100 points at a time. It really piss me off.
You are just acting skeptical because it doesn't affect you.
If cheaters didn't exist you would lose 40-90 points instead of 50-100. What would you blame then, the authors? What about when you do bad in scenarios where there are no cheaters, like OIs?
If you're inconsistent you wont climb, with or without cheaters. Not blaming random things for your failures is a requirement to improving.
Shut up dummy, you are punching way above your weight class here. Lol
trash
Thank you very much for your kindness!!! I am really moved. We just want to share interesting ideas with others, but now it didn't bring a perfect result. I felt guilty in the past few hours, now I feel better. Thank you!!! Your kindness really warms me!!! (●ω●)
Don't feel so guilty man. End of the day it's just an online contest and you've put in so much efforts to make such good problems. A group of 10-15 people can't be expected to think of every possible wrong solution and set pretests for all of them. Rare misses are bound to happen. Thank you so much for all the effort!!
Until the last 5-10 minutes I was happy with solving ABC, then suddenly hacking of problem B solution gave me a chokeslam.
C is easy
I aint able to view others solution. Is it a bug or we cant view during system testing?
You can't view neither others solutions nor tests that your solution is wrong during system testing. I think Codeforces should allow us to do this things.
It is not possible to see solutions from other people during system testing.
Ignoring the B question (I'm still self-debating whether hacks of this scale is good or not), the contest was really good! Maybe D was a bit too easy (implementation-forces), but E is certainly one of the best tree problem I've done! Thanks a lot to the authors for organizing the contest!
I skipped D because I was thinking that brute force will not work in this level, choice would matter on swapping the desired cells. :(
Weirdly enough, yes! That's why C and D are all 1500 points. This contest's C and D are equal to normal C, and E is equal to (hard) D.
64 pages (about 1280) of successful hacking on ProblemB? How many tests will this problem have
Just a feedback: Put some more elaborated samples inputs, especially for problems C and E.
lady and gentlemen B got us
Rank depends on how many people are alive in your room.
nope, as system test would have caught edge cases for sure
hacks gave u extra points tho
The problems are good .
Problem B is almost the same as https://leetcode.com/problems/task-scheduler/
What does FST stand for?
failed system test
I hacked B of 3 people... Now, mine code itself failed on system testing ;(
Should have hacked yourself for extra points. I think I saw that done before.
sorry_maroonrk :|
B's tests are made by me. I am very sorry that I have made such a big mistake. I am also sorry I don't know how to remedy the fault. But please don't down vote the other people or abuse the problem setters. Please down vote me for the big mistake :(
to err is human
Don't worry, everything was fine just a little bit unhappily weak pretest on problem B. Hope u guys will make much more better rounds in the future.
Maybe re-judging all the submissions, not only the last one for each participant, on the problem B is needed. After I got WA on my initial solution, I re-wrote a wrong solution, even though I knew it's wrong, just to pass the pretest.
Authors don't guarantee the completeness of pretests. So it's okay if pretests are weak.
To have stronger pretests, you could have generated all possible arrays of small sizes($$$1 \leq a_i \leq 3$$$, $$$1 \leq n \leq 8$$$). I was asked to do similar thing for my rounds.
By the way, I FSTed B too. I will be careful next time :p
Yeah, from what I can tell the issue was that pretest 2 had big $$$n$$$. If pretest 2 had tests with $$$n \leq 20$$$ instead of $$$n \leq 10^5$$$ it probably would've been fine.
A few problems with incomplete pre-tests is a good thing. It promotes code reading and hacking, too.
Except weak test on problem B.Whole contest was good.
Happy Birthday in advance AquaMoon :).
Screencast
Congrats on Winning the round
This was a fun round, having both C and D at 1500 made it more accessible to beginners and intermediate contestants. E was a really nice problem too, challenging but the statement was simple enough to not make it feel impossible!
To authors: you did nothing wrong, don't be hard on yourselves. Weak pretests is not a mistake of any kind. Yes, it introduces randomness in the results, but it's not your fault, it is the design of CF. Of course, some people will be dissatisfied, a few might even be angry at you. But people always are.
Thank you for your kindness! We really appreciate it! We will try our best to improve ourselves and bring better ideas next time!! You really light up our hearts!! (●'◡'●)
AquaMoon orz
Cloning Toys 2.0 https://codeforces.com/contest/922 anyone still remembers this contest?
I got hacked and then I fixed it.Now my solution fst'ed.the typo is so stupid
Thankyou for the contest. Problems were good although many people might have an issue with the FSTs but it indeed does make one understand why it is necessary to prove your solutions and cross-check for edges-cases instead of relying completely on pretests.
Happy birthday and looking forward to future rounds as well.
was this contest the one with max number of succeeded hacks by people?
See this https://codeforces.com/contest/922
Why can't we see the testcases like usual? I got WA on test 142 on F2 and want to know why
I can tell you what the test 142 is like. n=2e5, and the first 99 operations are 1 and 3 randomly. the last 99 operations are also 1 and 3 randomly. The middle part is all 2. The x's range is in [1,1e9] random.
Your Checker Log:
open tests, they are closed in upsolving
Wtf man, if B was hackable it doesn’t mean you’ve done a shitty contest. Hacking is part of Codeforces. The fact that trends now encourage strong pre-tests is another story. But you shouldn’t feel bad.
I actually don’t feel so bad that a feature almost long forgotten suddenly rose. Let the haters hate, and worry less.
but if pretest is too weak, score for successful hacka should not be 100. There are many participants who has 10+ successful hacks, which give them score about solving problem E
If very few contests allow people for 10+ hacks, then it won’t matter in the long run.
if many contests allow people for 10+ hacks, then more people will look for hacks, and fewer people would achieve 10+ hacks.
Not only that, but there’s a hard cap for how much you gain for hacks. And if you’re on the receiving end, then it makes you think twice about submitting the wron (unproven) solution, which is all for the better imho.
In D, after deciding the swapping indices of the arrays, that from which array the number 1 should be swapped with another array's zero, I naively went on to search for the required index of the array O(m), and was 90% sure that it would result in TLE, but it suprisingly got accepted, any explanations on how it didn't violate the time constraint.
Submission: 185717356
Edit:
The snippet of code code I was talking about is this:
for(auto x : swaps){ rep(i, 0, m){ if(v[x.first][i] == 0 && v[x.second][i] == 1){ cout << x.first + 1 << " " << x.second + 1 << " " << i + 1 << '\n'; swap(v[x.first][i], v[x.second][i]); break; } } } }
In problem D I got WA because I thought first I have to print the column number and then the rows. what a day...
Great round, interesting problems!! Weak pretests can lead to a lot of people getting frustrated, but it happens, it already happened a lot of times before on CF, and pretests were never supposed to be perfect, they are meant so that not all solutions make it through system tests! So don't be too harsh on yourselves guys!! I am looking forward to your next round, keep up the good work ^_^
Pretty good questions! Thanks for this round (despite being hacked on B haha)
Thanks for the contest. I hope you continue making them!
I still don't quite understand the solution for C.
AquaMoon, Personally, on the contrary, I liked task B and pretest to it. Before your comment, I was sure that this was the way it was intended. As for me, hacks are a feature of Codeforces competitions and sometimes I want to see a task for which you can "catch" a lot of people and their solutions in some particular test.
FSTs are unfortunate, one should not blame setters for them. I enjoyed this contest very much, especially coming up with and proving the solution for C was a good experience for me. Thanks to all the problem-setters, and a very happy birthday to Aquamoon.
This round is thrilling. It's a great experience to watch others' crazy Hack. And be hacked during the round.
It was really interesting :) but what about rating changes?
That is why weak pretest so bad: Spent so much effort to solve E and score is lower than who has 10 successful hacks
A hacker himself is hacked lol
Thought the problems were really fun, especially E.
How can I get my 1$ reward?
Wow $1 congratulations!!!!1
Your prize is $2, not $1
wow! I'm a billionaire!
It was an exciting round, enjoyed it a lot..nvm the FST of problem B... Btw, Happy Birthday in advance to you AquaMoon and lots of love :) 《^¿^》
thanks for the good round , you did an amazing job actually!
i had completed E but the B hack threw me off! just had to had -4 in output! :(.
Hi AquaMoon thanks for the contest! Don't blame yourself too much for the weak pretest in B. Even though I got hacked in problem B as well and I got disappointed, but hey, it's the fun part of the competition right?
Nevertheless, I really enjoyed the round and the problems! So cheer up! I'm looking forward for your next problemsetting and have a great birthday!
Thanks for the other problemsetters as well
Despite the weak pretests in B, it's a great contest. I found problem D~F interesting, and I hope AquaMoon can return again in the future with a better round!
Well, hacking others' code is also a very important part of codeforces, but in this contest, since the pretest of problem B is so weak, there are tons of wrong codes that passed the pretest. The problem of this situation is hacking others' code gives you a lot more scores than solving one more problem. I don't think this is a proper situation. Hope next time to have more strong pretest for the problems. (I don't mean the pretest should be strong enough such that it is impossible to hack the code that passed the pretest. I mean that there should be at least some advantage of solving another problem to hacking.)
As a tester, on December 16, I gave a hack data to the writer(mejiamejia), but he ignored me. This hack data (exactly the same) later appeared in the comment area, which shocked me. I hope codeforces can avoid this and writers do not ignore the tester's message in the future. Chat record
UPD:delete useless text.
I have seen your chat record with mejiamejia. I noted that he propose some sexual harassment to aquamoon, but I can't read Chinese characters. Is it serious?
poor aquamoon
However, My comment is only a guess. Whether it's true or not only mejiamejia knows.
UPD: it may be hidden by CF admins.
as a chinese citizen, the last sentence of the chat record is disturbing
This 100%, like what the hell? It's absolutely inappropriate
precisely! I am very, very suprised
I must explain that I did not ignore your data, you told me that the reason is you misunderstood the meaning of the question, so I did not pay attention to this data. I have already reflected on these issues, and I have retired, please do not discuss these again.
Suppose you have written a code that has passed the pretest and the code is not hacked during the contest even though it is hackable (it fails for some test cases), will the solution still stand?
Probably not. After the contest, every submission (that got AC on pretests and wasn't hacked) is judged again on so called "System tests". System tests include a lot more test cases than pretests, and also all succesful hacking tests are added to system tests. So if the mistske in your code was the same as someone else's who got hacked, then no, your code would not stand. But for especially hard problems, if the mistake was unique and even system tests didn't cover it, the result would stand. But that is a very rare scenario.
Ohh got it! Thanks!
And for my personal gifts: the two random number is 91 and 1028, so congratulations to sd0061 and regian0001!!! o(〃'▽'〃)o
How unlucky I am!
The contest section of my profile is showing my rank as 1028!
However, the rating change on the contest page shows that I am now ranked 1027! while regian0001 is 1028!
I knew that I ranked 1027. So, after seeing the random prize of 1028, I feel unlucky, then I visit my profile and find that my rank is 1028. Then I felt even more unlucky!
AquaMoon
Oh my dear friend! I must explain it: the rank I wrote contained the virtual participants at that time. However, even without virtual participants, on the contest page, you are 1027 (T_T) But on your profile it's 1028 (I don't know why, but it's a pity). Maybe it is like the life: there are always regrets. (For example, we made mistakes in B this time, although we prepared it carefully.) Don't be upset, my dear friend, maybe you will be the lucky dog next time! (●'◡'●)
I just realized my B submission didn't pass because I forgot endl in one print statement. Fml. Nice contest though, I enjoyed the problems.