UPD: The round has been rescheduled to a different time due to a clash with a CodeChef contest
Hello CodeForces!
Me, AHappyPotato and __jk__ are excited to invite you to participate in Codeforces Round 822 (Div. 2). It will start at Sep/23/2022 15:05 (Moscow time). The round will be rated for everyone with less than 2100 rating. You have 2 hours to solve 6 problems. Please note the unusual start time.
We would like to take this opportunity to thank everyone who have contributed to our round:
- darkkcyan for his excellent coordination;
- anthony123 and jerryliuhkg for proposing tasks that did not make it to the final problemset;
- thenymphsofdelphi, kevinxiehk, xuanquang1999, vinfat, ACGN, Mike4235, brianlee.lck, JeffreyLC, prvocislo, ITO, snowysecret marvinthang, QuangBuiCPP, Rekaxem, Alan, sharkycode and OGname, for testing and providing invaluable advice;
- KAN for translating the problem statements into Russian;
- MikeMirzayanov for the marvellous CodeForces and Polygon platforms; and finally,
- You, for participating in this contest!
We look forward to seeing you on the leaderboard!
UPD: Score Distribution: 500 — 750 — 1250 — 2000 — 2250 — 3250
UPD2: Editorial
UPD3: Winners!
Div 1 + 2:
Official:
As a co-author, the problems are nice and I recommend everyone to join this contest!
As another co-author, I can assure that problems are great and I also recommend everyone to join!!
As a tester and not a co-author, the problemset is very amazing and you should join the contest!
As a participant and not a co-author or tester, i will surely join the contest.
Why are u downvoting for just no reason.
If you ever ask why people are downvoting you for no reason, just know that you'll get a shit ton of additional downvotes just for that
As another tester, I agree with you!
As a newpie, Downvote me
As a non-ratist, I upvoted.
I wish my contribution would be non-negative (❁´◡`❁)
Holy Moly Folly Solly
My translator is so bad that it translates great problems into big problems.LOL
Ooh, a very early announcement. This should be good news.
Hopefully I will solve two problem this time. All the Best to everyone .
Yaay
Very excited to participate, gl everybody
My rating is 822. tzc___________________wk
Your rating is 1064. You're a 822E - Liar!
neat graph
CodeChef Lunchtime is clashing with this round. After a long time, CodeChef is having a rated contest for div 1. I think many of us want to participate in both the contests so could you change the date or timings of the round (if possible)?
arvindf232 AHappyPotato __jk__
As a tester... I have nothing to say other than good luck.
-QuangBuiCP
in last div 2, i did question 1 very quickly,i figured out question 2 quickly 2 and coded it but wasted my 1 hour just coz i had a wrong value assigned to a variable, made wrong submissions many times, and question three which was very easy i could not figure it out coz i wasted my energy alot on the second one. this is me in literally every contest and im even loosing hope now.can someone please guide me how to fix these issues, i can never maintain pupil due to these sillly mistakes.
you made a mistake, and you will not do it again. Im sure that there a finite amount of doable mistakes, so just attend more contests!
reisss
Hong Kong Round! Support!
As a participant, I will participate in this competition to improve my strength
I hope reach CM after this contest ಥ‿ಥ
i love your graph haha
-100 +100 -100 +100 :'(
any tips for me to reach specialist , other than fast ABC
Practice 1500+ rated problems
I practice 1200-1500, I thought that would help me reach specialist because I struggle with div. 2c 2/5 times during the contest, am I doing it wrong?
yes u should always pratice problems of higher rating than your current one.So donot waste time in 1200 go for 1400+ ones.
Wishing you luck :)
ty bro <3
lucky
Plz keep the original starting time but re-schedule to a different day
No way, i think it's much better than before, but each person's experience depends on the local time zone, which is something that cannot be done perfectly ^-^
In my opinion, time zone is not the main problem. What matters more is that it's preponed... And I happen to be one of the unlucky guys who missed this round because of that...
Oh,Very excited to participate .
The contest has been preponed. Do not miss it! All the best everyone!
Respect++ For respecting codechef :)
i hope get delta >= 5
Good luck everyone.
sad for west coast :’(
Just noticed the contest was preponed.
I think postpone is far better than prepone. Many people registered the contest and back online on the time the contest was scheduled. prepone could make them miss the contest, but postpone won't.
I think sending a mail to everyone who registered might be a good idea to avoid that.
As a uni student who would have been unable to attend this contest due to it being during my classes, I am very grateful for this opportunity.
(Yes it would be 5am in my local time, but I literally don't care.)
Can you help us ? here -- > World War III will begin D:
Why is cf accomodating for codechef and not the other way around?
Because codeforces cares for us
Codechef had postponed its previous contest from 21 to 22 Sep. So they are like its your turn now.
CodeChef is holding rated round for div1 after almost a month thus many don't want to skip it. If no contest accommodates it think many will end up giving CodeChef round.
As someone waking up at 4:30 to do this contest, please let me solve ABCD.
Only you have to solve the problem. Only way someone else can let you solve a question by giving hints or telling solution which is cheating so you are going to cheat
bruh
codeforces are very kind for programmer who rescheduled their contest timing because of codechef contest time at same time.
Codeforces Language Picker -- chrome extension to fix codeforces language picker.
20:05-22:05 UTC+8 is friendly to Chinese!
finally, the contest at 9 pm
3250.
I like this Score Distribution : 500 — 750 — 1250 so much
I hope I become expert in this contest... :)
All The Best!!!
UPD: Resolved thanks!
My calendar didn't reflect the time update, I am wondering whether I registered from a wrong source. If anybody's calendar works correctly pls let me know, thanks!
I happen to be one of the unlucky guys who missed this round because of the prepone. I came online just to find that the contest has already started... Perhaps changing the date might be a better idea than preponing in such short notice?
What the hell....I missed this contest :(
Didn't even received a mail about time change.
congratulations to all who will get positive delta due to this time change, not in my wildest thought had I even thought this way of improving rating. I hear "CHECKMATE" from admin.
I literally did AB first and ate dinner then do C later only because of the time change TT. If it wasn't for the time change then maybe i could finish C quick enough:(
I don't know bro. Maybe we need to practice for these time changes as well here.
Why is Codeforces such busy today? Even m1,m2,m3 are sometimes busy. But this contest is surely pretty good.
Someone solved E in 3 min. That is insane
It was a nice contest. i am waiting for a day when i will be able to solve div2 D.
is there anyone who can tell me how to approach problem D?
I used two pointers approach.
I started at position k and sent pointers l(=k-1) and r(=k+1) towards both ends. I saved the position of the maximum gain I got until my (gain + hp)>=0 and moved towards the direction which gave me the most hp gain(=k=(gain[l]>gain[r] ? l : r). If at any given time my l and r didn't move, it meant I couldn't find a positive gain and it didn't matter if I moved at all, so the answer is no. If at any point I managed to get to one of the ends, it meant my (gain[l] + hp) || (gain[r] + hp) was enough to reach one of the ends and the answer was yes.
My solution: 173216964
P.S: This probably could be done much cleaner, but I couldn't come up with it in time on contest.
P.P.S: Scrap this, I got TLE because my solution isn't optimized enough, but the idea is somewhat correct.
This is what i was thinking during the whole contest.
But wasn't able to implement it.
My solution lacks the optimization to not recalculate the whole route from k to the last l I checked, so it TLE's, but the idea in general is the same, so my implementation isn't correct either. welps
Alex.Svanidze I did something similar but didn't TLE. I didn't submit it in the contest thinking it'll TLE. 173232461
I guess me updating the values to zero changed it? lol, dunno, didn't really dive into your code, it looks quite similar, but there might be a significant one-liner difference
Looking at it now, there is a huge difference. You check for the left and right separately, for just once. I go with loops until I reach a non-valid point. If the testcase needs to run on zig-zag, I will recalculate the whole segment between l-r and my solution will go up to n^2, yours will never exceed linear imo.
I'm not quite sure whether it'll exceed linear or not. But if I'll divide the slimes into groups as mentioned in the editorial then I can be sure that it'll be linear because we on 2 checks at least one pointer will move, if it'll not move then it's impossible. There is no overhead of reiterating on the already seen indices. But in case of my solution without groups we are reiterating on some sets on points again and again.
How to solve E?
I solved it like this. I'm not entirely sure why this worked. 173206034
Edit: See Shisuko's post below. That's why this worked.
same:))
For this proof, we assume that the matrix is $$$0$$$-indexed, i.e. $$$0 \leq r < n$$$ and $$$0 \leq c < n$$$. Also, note that this is exactly the same as OleschY's solution shown above with the really nice visual diagram. So just read this if you're interested in a proof of correctness haha
Note that the condition is equivalent to saying
a[r1][c1] - a[r1][c2] != a[r2][c1] - a[r2][c2] (mod n)
. Letd_{c1, c2}(r) = (a[r][c1] - a[r][c2]) mod n
; for a fixed(c1, c2)
, we wantd_{c1, c2}
to be distinct for different input values ofr
. But now we can see that we are very limited---there aren
possible values ofr
, but alson
possible different outputs of the function. So we want thisd_{c1, c2}
to be some permutation of 0 to n-1.Let's set the matrix such that
a[r][c] - a[r][c+1] = r
always holds. Then, note that this implies (by induction or whatever) thatd_{c1, c2}(r) = (c2 - c1) * r mod n
. But if(c1, c2)
are fixed, then(c2 - c1)
is just some nonzero constant, and becausen
is prime, we know thatd: r -> kr mod n
is a permutation for any nonzerok
.In problem C, why can't we just choose
k=1
every time?S
must contain a number multiple ofk=1
and this/any number can therefore be removed with costk=1
.You are required to remove the smallest multiple.
u can only remove smallest multiple of k.So if 2 is there in T then if u select 1 twice then the second time 2 will also be removed.Which is wrong.
Thank you! So we can just delete all multiples up-to a multiple that is in the target
T
. example ifS={1,2,3,4} T={3}
withk=1
we can delete just{1,2}
because the smallest multiple remaining is3
and that has to stay inT
.yes
what if lowest multiple of 1 needs to remain?
you delete smallest multiple of K present in S.
Problem D has the same idea with Circle Eating in Codechef. But in codechef contest, only 8 people get AC in contest, otherwise there are over one thousand people pass pretests in Codeforces Contest! It's amazing.
How to solve D?
If I don't misunderstand the meaning of problem, you can see the editorial in Codechef to get the main idea.
P.S. update the link of editorial. P.S.2 it seam the solution of the two problems are quite different...
Editorial is a Pro feature now on Codechef............
This contest should be unrated!
pls no
Thank you so much for problem E! I (don't) wish you good health, love, high esteem and respect from loved ones, achieving your dreams to infinity, happy life, have magical moments and memories, and obtain what you really want, because that is the only way to fulfillment, realization and happiness!
Why is My Submission to D failing test case 10 :( . Can anyone explain? Thank you!
Code : 173206067
I don't know why Codeforces is really laggy today, even m1.codeforces. By the way, can somebody tell me a case where I got the wrong answer on Problem D. I got WA on 3rd pretest. Thanks alot <3 <3 <3 Here is my submission: 173222229
Try this test:
1
5 3
-3 -3 5 -5 1
It should give "YES", but your code gave "NO"
Why my code of problem D wrong answer on Test #3? Can someone tell me? Thanks!
173220801
try this case 1 5 4 1 200 -100 1 -100
the answer should be NO, but your code gave YES
Dear MikeMirzayanov, Why are we penalized with a -50 for resubmission when the site goes down? I got -150 due to unwanted resubmission when the site went down.
Same here, I have submitted 4 exactly identical codes due to CF lagging and got -150 for that.
Same with me !!
Same, although I've submitted identical codes, I got -100.
Can anyone give me a failing case for https://codeforces.me/contest/1734/submission/173197473
Good round but I didn't manage to write D:( can someone please give the failing testcase? I will be glad if someone could help me
Dumbass me trying to use Fenwick tree for D...
Because of the Website issues, In problem B the same code got judged twice and I got -100 so is there any solution or anyone got the same problem? 173177338
173176654
Yes, I faced the same issue while submitting solution for problem A. it got submitted twice.
The same.I also submitted A twice.
Same, i got -150 for unwanted resubmission of B.
I faced the same thing while submitting a I got 8 WA in 1 second.
sad:'( I hope this issue will be solved ISA
i've done the solution for D and it passed the sample tests but i ran out of time and couldn't submit , i hope it gets WA after the system tests because i'd be so mad if it got AC
How you did C ?
it is the same idea of sieve of eratosthenes , iterate over the string and if the current number (let it be num) needs to be deleted the the i should iterate over the multiples of that number (let it be j) and take the minimum cost to delete that j which is min(mnCost[j] , num) i should break when j is multiple of num but j cannot be deleted from the set as i won't be able to do this deleting operation using this num in the future look at my code for more clarification
It feels like C was much easier than B, it was so direct question...
I felt like some data in B was missing they should have mentioned if the current room where we have reached is having torch than it will be counted too.
Yes it should have been mentioned, but you just have to see the test case and you will understand that the room is counted too
https://youtu.be/bOizr3O0elA
This channel posted correct solutions of A & B during the contest and many participants would have seen this. Due to this, the rankings would be skewed and would lead to an unfair contest, please do something regarding this.
Plag check wouldn't be reliable in problem A & B to eliminate those who copied either. Probably making it unrated should be considered as those videos have 500+ views.
Eh bad for you that the video was published after the contest
estimated rating of C?
maybe 1100-1300
understandable, did u know why your E works before submitting?
Nah, I do not have proof of why it works, I am not sure, even now why it is working
then how did it strike u that that could be the solution lol?
Actually i dry run this on sample test cases and it is working fine, but I do not have the exact idea why it works for every test case. it is a kind of hit and trial.
oh ok
Can this submission for problem F be hacked?
I am a shit and I didn't solve C,though C is very easy.
This Ame-wiki guy were in my room-213..
when I was going to see his/her code at contest time. I was shocked!! Just try to unserstand what those line indicate.... Submissions are:
1734A
1734B
1734C
1734E
I think to makes code unreadable to others is nothing but scam..
I get very angry because of the time of this round.
I turned on my computer at 22:15(utc+8) and it is already over.
It's a good idea to put off it. But U chose to make it earlier. That's one of the worst decisions U can make.
it's unrated for you, what's your problem?!
It doesn't matter. I don't care whether it is rated. I only want to enjoy the process of competing. But I can't today.
There's an option which is virtual participation, You can do it any time in the year !!!!!!
I thought someone would comfort me. But just downvotes.
:/
Well you also cheated in D so why are you so angry?
So you cheated in this round Right? If so you have no qualification to complain it bro(I just think your code of D is very suspicious,if you didn't,I'm sorry.)
:/
nice problems! orz arvindf232, AHappyPotato and __jk__
why the fuck am I missing D by an inch every single contest !!!
same. I didn't submit my D in contest thinking it'll TLE, now submitting the same gave me AC.
May I ask why the data range of problem C is $$$10 ^ 6$$$, but $$$O(N \sqrt{N})$$$ time complexity can pass? I can't understand it.
Why did this brute force code get AC after the system test? Is it wrong or right?
I don't think that is brute force cuz it's pretty same as my code and I can prove it :vv
I optimized this code and proved the new one was right, so I think this is brute force. So how to prove this code is right? Thanks a lot.
The code is way too long and complicated so I just view it fast and get the main idea (hope it not gone wrong :vv)
Just start from k and then go left until got a better choice than the current then update to that point, if it invalid then do the same to the right and if it invalid then print no otherwise if get to 0 or n + 1 then yes
(Sorry for my bad English and knowledge :<<)
Oh, I know its correctness, but I wonder if it's time complexity is right (Why didn't it get TLE?).
Because you start at k and then go for a better choice, if it exist on the left then update if not check the right and update (pretty same as 2 pointers but instead of pointing from the outer to k now we spread from k to the outer) so the time complexity is just O(n)
But while it go to the left, the right also cost time. If there is a situation that every time it go to the left one step and need to check the right in $$$\mathcal O(n)$$$ time, it will cost $$$\mathcal O(n^2)$$$ time.
(Sorry to my poor English)
How can I view the 2839th token of problem D test 3?
Or could someone tell me where's wrong in my solution :(
keep track of each testcase and print the respective testcase in string.
it works, thank you! :D
Hey, did you figure it out? My 173295588 failed 2839 also. I tried to print the input but only saw "wrong output format YES or NO expected, but [-2, found [2839th token]"
Take a look at Ticket 16212 from CF Stress for a counter example.
I tried for 173364548 but it shows "An error occurred while downloading your submission. Probably Codeforces is down. "
Why my code of problem D wrong answer on Test #3 [60th token] ? Can someone tell me? Thanks! https://codeforces.me/contest/1734/submission/173229017
Can Someone explain me the time complexity of problem C? What will be the expression in big O notation?
I thought it will give TLE but it didn't ╰(*°▽°*)╯
nlogn because (n/1)+(n/2)..........+(n/n) = n{(1/1+1/2....+1/n)}=nlogn
harmonic sum
You are a good question
Are you Komedy me?
Problem D video Editorial
Estimated rating of D anyone?
It will be of 1700-1800 I guess
I didn't play well in this contest, so I hope I can cheer up in the next consest. ^_^
I’m leavin' my name here 'cause it’s the first contest I participated in. And I even got a rating rise!
Is it confirmed that GOI_Official is an individual participant? I find it quite incredible that they solved ABCDE all within a span of fifteen minutes. This includes a submission at 9m12s for D (WA test 3), followed by the first submission for C at 9m50s (AC) and then a second submission for D (AC) at 10m41s. This really gives me the impression that it likely involved at least two programmers coding in parallel.
There is also a slight inconsistency in their submission formatting. Submissions for A and D (173165060 173171017 173172113) include a header with the problem names and links, but these are missing in the submissions for B, C, E, and F (173169227 173171420 173175699 173185632). All submissions have the following two lines:
I would guess that noi2022 refers to a National Olympiad of Informatics (CU might be the institution?), which generally involves a team (wuge might be the team name?), and the link below (which seems to be inaccessible in my region) has "team" in its url.
If it is the case that this user is actually representing a team, where different members of the team were able to code in parallel, I don't think this is within contest regulations (which required the user to register "as an individual participant"), so they should not be included in the official standings then. Of course, I don't know for sure that the user represents a team, but I think this should be investigated.
In fact Wuge seems to be a CPer's name,And in NOI2022,he actually got the bronze medal.
I agree on your guessing,I think two CPers worked together,and one solved AD,another solved BCEF.
U R probably right. It's imposisible to code at such a speed.
They may share something, including
read()
andmain()
and the name of functionmeyi()
. But A&D have a header. That is different. The time is also strange.GOI is a team. They hold a contest in luogu(a famous OJ in China), and it turned out to be a mess.
Luogu is an OJ in China, and that url is a team of it.NOI is the Olympaid contest of China (Its whole appellation is National Olympaid in Informatics.) and cu is the symbol of copper, it means copper medal.
That code and the time is quite strange, but the code mentioned a code editor called CP editor. There are also some strange variable names like
shaya
andwugecu
. They look like Chinese Pinyin. Is that the editor's feature?Also, CP means couple. So is CP editor an editor that allow two persons code together? I think it is NOT individual, too.
Also, CP means Competitive Programming
Oh, you are right.
Why do we care for codechef:(
Why not unrated?
asghar dar kamin ast!!!!! asghar is lurking!!!!!! Асгар в бегах!!!!!!