Hello Codeforces!
I am pleased to invite you to my first contest Codeforces Round #695 (Div. 2), which will take place on Jan/08/2021 17:35 (Moscow time). The problems were written by alimq and DS007. The round is rated for all users with rating less than 2100, while other users can participate unofficially.
You will be given 5 problems and 2 hours to solve them. You are strongly advised to read all the problems.
I would really like to thank:
- BledDest for his amazing coordination of the round.
- Aggu_01000101 and infinitepro for helping me in shortening the problem statements and solving one of the problems.
- MikeMirzayanov for creating the Codeforces and Polygon systems.
- The following people for testing the round:
We hope you will enjoy the problem set! Good luck!
The scoring distribution will be added shortly.
UPD: Also thanks to nooinenoojno for testing the round.
UPD: The scoring distribution is: $$$500 - 1000 - 1500 - 1750 - 2500$$$.
UPD: Congratulations to the winners
Of div 1:
1. kort0n
2. Suiseiseki
3. peti1234
4. fastmath
5. wrinx
And of div 2:
1. raingirl
2. xsdns
3. Mister5
4. o.a
5. wudi2016
Thank you all for participating! My apologies for misjudging the difficulty of B.
Editorial
As a tester, I have a proof that upvoting this comment will lead to positive delta. But the proof is too long to fit the margin.
Is the proof left as an exercise for the reader?
This is the way
yes
Will we get a video of DS007 dancing if this comment gets more upvotes than the blog itself? saarang123
Meow wants it
As a tester I upvoted and demand my positive delta
Runtime Error
Output Limit Exceeded
manish.17 I am one of those who are trusting you. Let's see what happens.
It seems like replying to this comment can lead to upvotes.
what if I downvote?
Feature Request : "Downvote an upvoted comment".
I want my upvote back please.
T(HE)Y BE(LIE)VE(D)
LOL. This comment totally made up for any rating fall.
It seems like I'll have a counterexample soon.
it actually worked!
As a tester there are 1 AI and 4 DS problems
DS=Dhruv Saraff
AI=Alim Imanmalik
As a tester, I Can confirm that DS007 is a wonderful dancer.
As a participant, I think it would be safe to assume that the order of difficulty of the problems wouldn't dance as well,XD!!
As a non-tester, I can also confirm DS007 is a wonderful dancer.
What do you think BRCode?
As a tester, I agree!
.
But not a wonderful author.
As a tester, I'll edit this comment later and add something witty.
Seems like it was quite difficult for DS007 to fit you in the above tester arrangement, which itself is pretty cool, I hope there would have been more diversity in color(given we have new year magic)
Isn't the colour arrangement pretty cool though? It's the CodeForces logo!
Indeed it is, but would be much better if we can have you also in that arrangement :P
I'm 6th from the top in the middle column :P
I must say, that was a trap!!!
Ahh my bad, seems like you are already there in expert's color :P
Yes :( The real CodeForces magic was that the website somehow detected my true skill level :(
As a tester, I can confirm I'm actually red
As a tester i also agree with you all. All the best everyone and do tell me if my testing was worth it
Indian round means unrated round
This should be great contest. Good luck to everyone!
Oh! Really?
I'm the (official) meme supplier for this contest. For every 69 upvotes, I'll upload a new, original content, cp related meme.
See this post for latest memes.
When your solution is proved by Accepted.
I like the second meme.
Good luck to everybody and to me also
Wow, no wonder you said, You had a lot of testers for this round earlier. Looks like a lot of effort went into the preparation of the round, looking forward to it. Also any authors of future rounds who are looking for testers, I would be happy to help.
Let's wait till 11/01 to see the tester table messed up. Unless it will be changed later.
The arrangement of testers is not random.
It's the CF logo.
and it's beautiful
its_Atrap
Recursion
I thought it was the columbian flag
only 192 more for pupil rank :D (lmao I'm not still good and I don't know why I'm happy)
Hi
Only 97 for specialist. But I know i'm gonna decrease again. :)
You will stay at nutella. Don't worry.
(
)
Why do I have a feeling that you know the problemset?
Than offer him to be one of the tester :P
Bro, according to my qualification, i can only test sugar in coffee. But, i love the idea.
You can also test sugar in tea :P
how did u predict that... kind a sus!!
Now as a predictor, i want upvotes.
Done!!
I tested this contest and it was good.
Last round was great. Problem statements were short & crisp and without unnecessary stories to read. As you mention that the problem statements have been shortened, eagerly awaiting the next round :)
As a tester, give me contribution! Also suggest me a new profile photo, I removed mine temporarily.
You got contribution even as a non-tester! Not positive though, but still you didn't specify what kind of contribution. May consider doing this in future myself.
Your Ceiling is My Floor!
© tourist
I like how the testers' names are arranged in order of the lights to the left of the logo!
Imagine getting rejected as
contribution farmertester just because cf logo will not look good in the announcement.LMAO. Still, you gotta appreciate the effort though XD! For the testers to change their ratings so much and for DS007 to properly format it.
Indian Round .
Was waiting for this comment!!!
Actually it's an Indian — Kazakhstani round ;)
OMG Kazakhstan!!! Hoping to see Borat themed problems
pog
pawg
Hello :)
I hope everyone rating goes up in this contest
you seriously lack hoping skills
we don't do that here
Well its impossible. Someone's rating has to decrease for someone's rating to increase.
I have always wondered about this. After a codeforces contest, is the summation of every participant's delta 0?
It's less than 0.
Really?
You better never hope anything positive from the next time
As a non tester Chaliye Fodte hai ;)
Hope a good result for everyone !
It's advised in the post to read all the problem statements. Does that mean the problems won't necessarily be in increasing order of difficulty?
As an idler, there are too many useless spoilers on this page, so one can use this script in the console to expand them all:
SPOILERFORCES
Guys don't waste your time in B and C like me. There is always an easier approach and everytime I think of an overkilled solution.
You may consider rethinking your strategy after this contest...
I told you!
sed lyfe :(
I feel you bro :'(
ALways start from harderlike D or E onwards as cheaters can't ruin them easily. Also you may get first to solve award for a problem with that startegy, Last contest I would have solved Div2 D as the first person to solve but I got a silly error thus finished it after 7-8 people.
Guys guess what?? Again I overkilled the solution of problem B. Although i solved it but wasted a lot of time. XD
I got 4 WA in A and 4 WA in B, but managed to solve both.
how to solve b?
Love this comment section
hello im from viet nam
There are only 3 ratings left before I can be a Master(without using "magic")!Hope I can do it!
You can do it!
All the best...
You can make it. Best of Luck :)
I got rank58!Hope I would not Failed on System test.
Congrats!!
I hope no one cheats in today's contest.
Problem Setters today: Keep the problemset out of their reach.
very good idea.
Just two hours left in the contest and still not able to see the score distribution for problems.
Ok
If the contest gets 20k participants, I'm going to post 25 high quality memes.
Plus, DS007 promises a div1+div2 contest in the near future if this contest is well received...
Already get it.
He actually made a Div 1 contest and named it Div 2
F
scoring PLS
Is it rated for newbie?
i think u did not read the contest announcement (The round is rated for all users with rating less than 2100)
.
Don't generalize a bad deed to many people, especially when lots of them are helpful and honest :D
Indians aren't cheaters. Don't generalise something to whole community. It's not a good thing.
good luck
div2A is kind of diffcult >_<
I think we could add a problem in front of this and make a 6 problem round.
it's been only 30 minutes and I already hate this contest.
Even Masters are struggling, now that's tough
No,masters just close the website and enjoy their life because they're unrated.
very long queue too!
Long queue?
I think authors should not make problems anymore
Describe the contest in 1 line: Wrong answer on pretest 3
XD
The round of Wrong answer
deleted
Contests 2021 is so boring !!!
Deleted
I am in doubt this is a div2 round ...
I have a similar doubt too. Looks like a DIV 1 I guess. One thing which presents always while submitting my code i.e--"W.A on pretest 3". Disappointed after giving today's contest. :(
well there goes my expert
My expert already went last round, this round I lose my specialist.
You are not the only one. :(
And there goes my confidence!
There goes my pupil successfully. I should have skipped this round maybe. :(
As I can see from my friends standings this contest has been a total mess.
to the admin of this contest please don't do the same for the next time.
it is been more than half of the contest and less than 3000 one solved b :o , i can say that this is a big mess
Pretests for B are too damn strong. Kudos.
Better strong than weak. Would you really want to fail a system test?
I said kudos. Did you even read.
Just waiting for time to end and someone tell me all I did was miss an edge case to get Wrong Answer on Pretest 3 :(
You can try this;
output:2
I am actually curious to see the standing of the testers' virtual participation.
is it only me or is anyone else also struggling with pretests of DIV2 A?
Use patience there is a little trick in it. I have given 5 wrong answers for div2 B.
Div2-B Pretest 3 is KILLER !!!
What the hell is this Pretest 3 in B
SOLVED C but Failed B. this is CODEFORCES EFFECT
lol same pretest 3 is going to hell
No way this was a DIV 2 round
Too hard!!
Really confusing statement for A, or so it appeared to me. Although they explicitly mentioned $$$|x-y|$$$, I had considered array to be circular in my mind. Even the examples satisfy the circular array assumption.
Same, I to get WA on pretest 3, not able to solve a single question, RIP my ratings ;-; :( ;-;
WA on pretest 3
WA on pretest 3
WA on pretest 3 :'( How to fix that problem? I couldn't do it
WA on pretest 3
The most evil: "Problem B pretest 3"
Talking about B, Not able to solve even A
I probably misread Div 2
I probably misread codeforces.
To the people complaining — Div2B is all about a simple brute-force, so yes — you've read that right — perfectly suitable problem for Div2B. As for the Div2C I believe it has to do something with finding the two minimum elements and a few corner cases, but wasn't able to solve it fully.
Overall a great contest! Really challenging and interesting problemset! Thanks to the authors for such an amazing contest!
EDIT: Again downvoted for saying truth — newbies go be real mad. Y'all expect to solve 3 problems and stay pupil? No, that's not how it works. Back in the day, people who solved 2 problems fast could reach 1700 — because problems used to be tough. Trust me — no improvement if you do only easy problems.
I don't know about rest of the comment but yes challenging problems must be welcome
Downvoted, I don't like when D2B is bruteforce. Am I newbie?
I didn't call people newbies for not liking D2B bruteforce — just not being able to figure it out in 2 hours really doesn't deserve any higher rank. I was very scared when It took me over 30 minutes to get such an easy problem right. It's really a standard thing these days to see D2B done using brute-force.
D2B was not a bruteforce, it was $$$ifififelseifelseelseififelseelseififelse$$$.
It was brute-force without many ifs if you are smart about it. Take a look at my code and compare it to yours.
not at all https://codeforces.com/contest/1467/submission/103806657
Writing a score function like this would have saved you a lot of time and efforts :
Agree that this was a nice contest. Couldn't complete finding C corner cases. It was a hard fight and annoying.
In my opinion B was "hard" for the wrong reasons. Most people at the Div 2B level can definitely understand the solution for B. The most pleasant word I would use to describe today's B is not "hard", but "tedious": had the right idea and most of the details early on, took forever to find the missing corner case.
Also, it wouldn't be such a big deal if the very next problem, C, wasn't yet another "figure out the cases" problem 0_0.
Again i will say — no special case exists in Div2B. Take a look at my accepted code.
Ignoring template my code is shorter than yours .___.
But it's more bug prone. I was 100% convinced my solution would not fail, while it took you more attempts to get it right.
I'm not disapproving your knowledge in any way, just to be clear.
I don't think B had a special case... You just needed to implement it carefully.
did you lost your mind??
Div2 B are generally of rating 1200-1300 and this contest's div2B is of rating 1700. This is the most unbalanced contest.
Its easy for you to say these things because simply you are expert.
Got stuck even on B. As a result, return to the cyan :(
How to solve B and C?
B is brute force. Change each character so that it is equal to one of its neighbors and "carefully" calculate the change of cost for only the subarray where the change has an effect. Then do the same for the other neighbor.
Change the character $$$a_i$$$ to previous $$$a_i$$$ or to the next $$$a_i$$$? I did so, and got WA 3 :(
I got a nasty bug where I did not check if the neighbors that were previously not a hill/valley became a hill/valley after changing the value of a[i]
Change to both, and see which one gives you a better result.
Also, if $$$a_{i-1} \neq a_{i+1}$$$ you might try something between them, like $$$\frac{a_{i-1} + a_{i+1}}{2}$$$
No, it is never an optimal step.
yeah, my bad
With this exact approach I submitted 7 wrong answers, still unsolved. Can you share a clean implementation?
Brother you might be missing that after changing A[i] to A[i-1] what is the impact of A[i-1] on A[i+1]. initially I was also missing this but got AC after i checked it.
I did realize this later but i guess i suck at implementing. Thanks
getting wrong answer on pretest 3 for B question ,can anyone give any test case
same :(
quite a peculiar contest many people had the first problem wrong in the first attempt and even the second question. loved the contest by the way
Those who failed B, try this
2
6
1 5 10 4 6 12
6
10 8 5 15 7 6
Answer should be 1 1
My answer is 1 1 and still getting Wrong answer on pretest 3.
Got 1 to both, for the incorrect submission of B. Any other Test Case?
My solution passed these tests and got WA 3 :(
Ah, got it. Thanks mate! Was trying to find the mistake for 1.5 hours!
thanks, good testcase
thanks !!! was thinking along the same lines but then decided to move on to question 3
My Solution is correct while failed on pretest3
How 1 1 can you explain please
Try this also:
output: 2
thanks it worked for me
fuck you mother fuckers[user:alimq][user:DS007]
Who made these problems is an evil person ...
Since contest is over, may I get some hints on how to solve problem C?
I replaced a[i] for 1<i<n with both adjacent elements one by one and then counted minimum for all the 1<i<n. It passed.
He is talking about Problem C.
That's what I did but I got WA on 3 :(
Without loss of generality, lets assume that the final element will belong to bag A.
Now, think of the problem as ans = a1 + a2 + ...an + -b1 + b2 + ...bn + -c1 + c2 + ... cn
(Move all but 1 element in A to B. Move all but 1 in C to B. Move all but one in B to C. Now move all back to A. So all the elements except the ones unmoved in B and C will have a -(-) positive contribution to the sum.
There is one more possibility. Assume c1 was infinite, so a -c1 is not affordable. So we move all Cs to B and then to A, and ignore moving B twice.
Answer in this case will be Sum(A) + Sum(C) — Sum(B).
Swap A, B, C and find the max case. 103801386
This outline makes complete sense. Such a short solution for such difficult problem! Beautiful
My mistake from past 30 or so minutes
instead of
and that happens despite using an IDE that warns against this :)
Who wants to hear how we, the testers, trolled the cheating telegram group? Lot's of WA are cause of our efforts.
To those who want to help: Search for solutions of B that have a -25 anywhere in the code. Post their names here, they are all cheaters...
Reason why? Will make a blog post "soon".
Upvote for calling testers of this round to be called batmen/women
Yes, interested to hear that.
Couldn't you have made some good problems instead of doing this? Many masters have struggled to solve A, B?? The problems were too random. The setters of this contest should not be allowed for any further rounds.
No they weren't. The problems were actually on easier side as later ones were standard. But it was diverse round.
Some thoughts after solving B:
If you wrote exactly once in bold why couldn't you write or let the sequence remain unchanged in bold as well?
Why can't n be just greater than 2?
Agreed. Why would you want us to handle n = 1,2 separately? Just make n > 2.
"In the second test case, the best answer is just to leave the array as it is." This is the sample explanation so it was mentioned there.
The second test case will give the same answer when you do exactly one change (change the last 2 to 3). I agree that we should be more careful while reading the problem statement but I just thought it would have been better if it would have also been mentioned in bold that we can perform no changes also...
spooky's comment would make more sense then. It was still mentioned in the explanation of sample cases.
why is mentioning that no change is allowed sush a big issue. if u really wanted to do that you could just increase or decrease a particular number such that it does not make any difference. it was asking to print the minimum intimidation number not the steps required for that
It says "You can change exactly one integer...", which has the meaning you can do, or do not.
LMAO lol I had no idea what was wrong with my program and yeah, it was the fact I did not account for n = 1 and since I now use c++ instead of Java it did not say index out of bounds.... That's honestly stupid.
Why were almost all of the wrong answers related to test case 3 in Problem B ?!
same bro
I don't understand what's wrong with my question that I got 8 downvotes ! I just was curious about it And I just asked a question
.
tricky contest XD
Div2 C I think I figured out... I was not sure though: is it just total — 2*(smallest + second_smallest) ? D was easier I thought...
Nope for C counter example 1 1 1 3 4 5 Answer 6
What is the counter-example? Like which ones belong to which list?
It's like each list is of length 1. Take 3, 4 and 5 as elements of different lists.
i dont know how to put "newline" in this comments. You have 1 element in each bag,in the first one is 3,the second 4 and the last one si 5.
Two spaces after line is newline here
All good — I understand your test. Looking at the submissions that seem to be passing for problem C, it seems like they used what I mentioned but adjusted it a bit for the edge cases :(
No, I did that and failed test 3.
Counter example can also be:
1 1 1
1 1 1
Correct answer 1, we print -1.
Fudge.
will fail on this
except when smallest and second smallest are from same bag. In that case its min of that and total-2*(min sum in any bag). correct me If am wrong.
You have two cases.
Take the maximum of both cases
smallest and second smallest have to be from different sets I assume?
Yes, Thanks Fixed my comment
In my opinion only fault was it was of 2 hrs . It should have been half or 1 hour more.
Problems weren't straight forward and samples didn't gave any hint and that's why accuracy in this contest was low. But contest wasn't that bad.
This is the worst contest I have ever seen
Problems were difficult thus i think more time would have worked. Except difficulty was there any other issue ?
Please don't down vote the blog , no one intentionally wants people to perform bad . At least we can appreciate that it was not typing test.
F**k constructive algorithms.
It deserves down-vote.
Ya, even i solved the third problem exactly 2 minutes before the end of the contest and couldn't even read problem D
I am eagerly waiting to see the 3rd test case of problem "B".
Problem solved
I am getting 1 but still WA on pretest 3
yeah, there is also one test:
by SarthakBansal
How is this 1 1
I checked this out on the paper and that's true. Just because in both cases you can not rid of all from 1 mountain or hill. You can try to do it on the first test picture:
andrews3 my code print correct in all your test cases but WA on 3
don't worry, I also have WA on 3 test. P. S. I just found some tests :D
awesome XD
Also
1
7
1 5 6 4 5 6 1
Answer should be 2(I guess?)
yeah, you are right
I'm not exactly in a position to say this, but I think pretests for E were too weak. Let's define an array occ[1e9], where occ[i] represents the number of nodes with assigned number equal to i. Then my solution worked in O(sum(occ[i] ^ 2)), which on worst case is O(n ^ 2), and for some reason pass the pretests without much problem. I guess that's because my solution is too counter-intuitive to even think of, but allowing any kind of O(n ^ 2) to pass is in my opinion a sign of very weak testcases.
Note: I'm not saying anything about the main tests, I do hope that some in-contest hacks will be added to break my solution (post-contest hacks will surely break it). However, I suspect this is not the case since there were only around 100 accepted solutions for E, and I've not seen a hacked solution in-contest.
UPDATE: So thankfully (or not?), a new test was introduced to break my solution. My opinion holds though.
My wait for cyan continues....
A my waiting for Expert too...
;(
Respect ! To those who solved B from the first submission !
Also true for 'A' (:
Excuse me for saying this .. There are two points that make this contest bad : You have underestimated it as Div2 ,,,, The tests were not enough to fully understand problems
exactly
Very interesting round, first time I've had to write a brute-force for A and B to debug my fast-but-WA code.
For those facing WA in B, here is a brute-force solution and a test harness in python.
And we all thought 2021 will bring us happiness and positive delta
On the positive side, fast system testing.
Less Accepted solutions
system testing on nitros. so much lesser submissions relatively.
In C, can we take a and b from the same bag? The problem statement makes it sound like we can't, but then I don't really see how the answer to the second test can be 29...
(7 5 4) (7 1) (2 9)
(7 5) (7 (1 — 4)) (2 9)
(7) (7 (1 — 4 — 5)) (2 9)
(7) (7 (1 — 4 — 5 — 9)) (2)
(7) ((1 — 4 — 5 — 9)) (2 — 7)
((7 — (1 — 4 — 5 — 9))) () (2 — 7)
((7 — (1 — 4 — 5 — 9) — (2 — 7))) () ()
(7 — (-17) — (-5)) () ()
(29) () ()
Wow. I'm dumb. Thank you very much!
Put the 9 in 2nd bag with the 1 in 3rd bag making it -8
Put the 7 in 3rd bag with the 2 in 2nd bag making it -5
So the bags now have
7 5 4
-5
-8
I think you will be able to make 29 from here.
For Task $$$B$$$ The maximum no of hill/valley we can destroy by changing a number is $$$3$$$ right?
The best possible case is when changing an element, the answer decreases by 3, however, you have to be careful because many corner cases may exist.
What I did was: for each position $$$i$$$, I have some options. Keep the value of $$$v[i]$$$ the same or for each $$$j$$$ $$$(i - 2 \le j \le i + 2)$$$, assign $$$v[i] = v[j] + 1$$$ or $$$v[i] = v[j] - 1$$$ or $$$v[i] = v[j]$$$.
Therefore, I just have to iterate over all these possibilities and see which one is the best.
Note that for each possibilty, I just need to recalculate the answer in the interval $$$[i - 2, i + 2]$$$.
My code: https://codeforces.com/contest/1467/submission/103779093
is my idea for B totally wrong ? We can at most decrease the hills and valleys by 3 because at most we can affect 2 hills and one valley or 2 valleys and one hill how could I be wrong about that
Can most decrease by 3 — correct.
Code with too much ifs must not exist never. Sure thing either one case is missing or misprinted.
I guess there's a stupid bug in my code that I didn't notice the idea is correct
yes but when you have a hill and valley adjacent, flattening a valley may give rise to a new valley eg: 15 10 5 20 17, here when you try to get rid of valley 5 , you must make it >=20 but that would make 10 a new valley
Yeah I tried to change the hill or valley to one of the two adjacent values and took the best change
my code is just terrible I should have found a better way to code it
Well that part isn't wrong
Your code is so beautiful.
This contest was a trap. :))
Another Div 1.5 Contest.
Those who submitted A and B in one go without wrong answer on pretest 3. Hats off to their accuracy.
Rozen Maiden one-two finish with Suiseiseki :)
:)
Next time Don't believe on a new setter too Quickly!!!:(
Dude, he is making contests, actually making actual contribution to the community. What have you done to do the same? It's pathetic to see the entitlement which participants seem to have. Even I had a terrible contest, but I wouldn't take it out on the authors. Try to give constructive criticism, if possible or don't comment at all :)
Ok Agreed,but then the new POSITIVE criticism is it was not a DIV2 atleast!!
Very weak pretests for C :(
The contest is fun and annoying at the same time as "WA on pretest 3", corner cases killed my rating :)) Anyway, I like it :D
why contest div2 was too hard ???
Petition to not allow these setters ever again. The problems were too random and confusing.
What type of div2B has <30% passing rate smh
Yeah, many people got stuck on QB... QC is relatively easier imo
If you don't spend a lot of time on B, that is...
Fastest system testing.
Just asking, did the testers give no feedback about the difficulty? It would be much better if there were one more problem between A and B.
Problem B WA3: When you replace a number, you may not improve the answer, but rather make it worse. Most likely, you only checked the destruction of valleys/hills.
Example:
1
6
6 7 10 5 7 9
answer(1), your answer(0)
Your program will replace the number 10 with a smaller number X. Then most likely there will be a hill (6, 7, X). It was necessary to make a separate check for this
can u please tell why my sol is wrong?_https://codeforces.com/contest/1467/submission/103821246