Hello, Codeforces!
First and foremost, we would like to say a massive thank you to everyone who entered and submitted their answers to the first, second and third Kotlin Heroes competitions which were held previously. Congratulations to the top 3 winners:
Episode 1
Episode 2
Episode 3
Ready to challenge yourself to do better? The fourth "Kotlin Heroes" competition will be hosted on the Codeforces platform on May/29/2020 17:35 (Moscow time). The contest will last 2 hours 30 minutes and will feature a set of problems from simple ones, designed to be solvable by anyone, to hard ones, to make it interesting for seasoned competitive programmers. Top three winners will get prizes of $512, $256, and $128 respectively, top 50 will win a Kotlin Heroes t-shirt and an exclusive Kotlin sticker, competitors solving at least one problem will enter into a draw for one of 50 Kotlin Heroes t-shirts.
Registration is already open and available via the link. It will be available until the end of the round.
The round will again be held in accordance with a set of slightly modified ICPC rules:
- The round is unrated.
- The contest will have 9 problems of various levels of complexity.
- You are only allowed to use Kotlin to solve these problems.
- Participants are ranked according to the number of correctly solved problems. Ties are resolved based on the lowest total penalty time for all problems, which is computed as follows. For each solved problem, a penalty is set to the submission time of that problem (the time since the start of the contest). An extra penalty of 10 minutes is added for each failed submission on solved problems (i.e., if you never solve the problem, you will not be penalized for trying that problem). If two participants solved the same number of problems and scored the same penalty, then those of them who had previously made the last successful submission will be given an advantage in the distribution of prizes and gifts.
If you are still new to Kotlin we have prepared a tutorial on competitive programming in Kotlin and a practice round, where you can try to solve a few simple problems in Kotlin. All the solutions are open, which means that you can look at the solution even if you haven't solved the problem yet. The practice round is available by the link.
We wish you luck and hope you enjoy Kotlin.
UPD: The editorial can be found here. Thank you for participation! I hope you enjoyed the problems.
badge into sticker?
do you send t-shirts to any country? That costs alot I think
Yep, we send t-shirts to any country! You can check this out by yourself: take a part in the round and win a T-shirt! :)
when we get the result of a lucky draw(random 50 tshirt)?
Please wait a little. It'll be released soon.
Hey Una,
Could you tell me where the info will be released once the t-shirt draw is done?
Cheers. :)
It's already here: in the comments.
I cant see the results...
It is here.
Sadly I'm not lucky :(
When there would be a normal, non-kotlin div3 contest...
There was one 4 days ago.
its a bad idea to accept one language.
This part may need to be clarified:
who had previously made the last successful submission
e.g.
Person 1 solves A after 15 minutes, B after 45 and C after 120 minutes.
Person 2 solves A after 20 minutes, B after 40, submits the same solution for B again after 119 minutes and solves C after 120 minutes.
They have the same penalty, which one should have the advantage?
I don't quite understand why my question was downvoted this much, does it have an obvious answer?
If the answer is obvious, can someone at least share it here? An explanation would be nice as well.
desnt resubmitting result in a penalty?
Not if the solution has already been accepted
Is it rated?
I think no
Are u too dumb to read that? However contest in unrated but you comment will be rated.
Thanks for asking.
:D
tourist is solving one problem in every three minutes
k * + k < 100
Why this expression is correct in Kotlin ?
Thanks for Editing
It's just about kotlin syntax
Okay
There is google for syntax. Not good to discuss here
+
here is unaryPlus operation so it's basicallyk * (+k) < 100
Is it possible to get problems open for other language e.g. create a contest in the gym?
MikeMirzayanov, something needs to be done about alt accounts. It seems like there are more alt accounts than regular accounts participating in this contest, just so they can be entered into the draw for the random t-shirts, and this is really not fair. I will try to expose some cheaters with alts after it ends.
JetBrains promotes this contest in social media/kotlin blog/ADs etc so it's expected that much people outside of CP community will participate in it.
I can assure you there is a lot of cheating going on, I am a member of some other forums for competitive programming in a different language, and it is currently being discussed there. Sadly I cannot say any further or I will be identified and will lose favour with people who can control if I go to olympiads in the future or not...
People were probably using multiple accounts in order to increase the odds of getting the random T-Shirt.
MikeMirzayanov will nothing be done of this? I think it's unfair for both participants and JetBrains, who kindly arranged for cash prizes as well as 100 t-shirts for the contest, that people end up getting multiple t-shirts because they spam alt accounts. People ended up solving A in the first 5 mins, and spent the remaining 2 hrs 28 mins using alts that have been created months or even years ago, writing code that is different to their original one so they are not identified...
People ended up solving A in the first 5 mins, and spent the remaining 2 hrs 28 mins...
your math is blowing my mind
I think they can simply use a clause like a "trusted participant" for random T-shirts if alt accounts is the problem and I can only hope someone isn't so free in their life to maintain more than one "trusted participant" account.
LOL someone just spammed this with alts and made it go down by -4 in under a minute, nice to see the alts being put to good use even after getting a t-shirt
Oh, now I understand why your comment has so few upvotes, despite raising a relevant point.
Let them have the T-shirts. I'm sure they don't have many clothes to wear.
I wrote my first code in kotlin in this contest . I feel it similar to JAVA and Luckily by googling and seeeing some previous submissions I solved 2 problems though 3rd one was hard to implement in Kotlin for me! Hope to get a random Tshirt
Am I the only one who solved A with binarysearch :P + I found C easier than B Idk why not so many solved it
Thank you for the problems! Feel not too easy, not too hard, just the right thing to learn a couple language features at a time.
for the first time solved in kotlin :D
actually did this contest for checking my luck :P
hope to get a t-shirt :P
using
seed = 284
andlen = 1044
as mentioned here, random winners list should be80, 91, 106, 117, 148, 159, 166, 177, 178, 204, 233, 246, 285, 291, 297, 300, 302, 308, 325, 328, 347, 360, 395, 397, 427, 429, 464, 473, 505, 532, 557, 564, 613, 615, 628, 648, 669, 682, 706, 719, 738, 766, 786, 789, 835, 846, 940, 955, 1030, 1066
Why len == 1044? (May be because virtual participants already started?) Because for now len = 1056
Yes, uncheck "Show Unofficial"
Man! I miss it by one. Sad.
There's no 117 position ( there are two 116 positions) who will get the t-shirt now?
Maybe use this rule "If two participants solved the same number of problems and scored the same penalty, then those of them who had previously made the last successful submission will be given an advantage in the distribution of prizes and gifts."?
(I hope that I can get the T-shirt.
Then you will get the 116 position..Sad for you too mate.
I do n’t think so, the one who submits first rank higher
Can anyone describe the solution to F. I was thinking maybe binary search but I don't know how to account for the updates.
Basically we can treat rows and columns differently, just find the row that minimizes the cost of moving between rows only as well as find the column which does the same with columns. So basically we can reduce this 2D problem to two 1D problems, an 1D problem can be solved easily, it's quiet well known I think that these distances are minimized when we choose the median.
Ah that makes a lot of sense, thanks!
Waiting for editorial.. :)
Editorial
I like that feeling of realization that even if I do not win a T-shirt, my participation will completely change everyone who receives it, because of random with +1 person in list. I influenced the fate of dozens of people :D Who knows, maybe exactly YOU will get T-shirt because of my participation. Ah, do not thank))
Good to code in Kotlin for the first time. Found that there are many altenatives to do the same basic things and also that it is very similar to JAVA. I missed the fact that the 3rd problem needed handling of long. This must have the case for all who got Wrong Answer on Test Case 5
Kotlin is not bad at all.
When will we see the list of the winners?
When will the list of winners (random) be out?
Our congratulations to the t-shirt winners (top 50 + random 50)!
13 of these are unrated accounts, and these account probably don't even have a display name. Have a look at this comment https://mirror.codeforces.com/blog/entry/78047?#comment-632332.
Also, what is the issue with applying a clause like "trusted participant" to enter into the draw?
Hi Mike, sorry for my bad English, but could you take a look at this please? https://mirror.codeforces.com/blog/entry/78047?#comment-632332 There is a serious problem with cheaters here and maybe some companies in the future might choose some other website to host competitions after seeing how easily it was bypassed. Thank you. MikeMirzayanov
Hi, im very happy :P
Im from Argentina, anyone knows how it works the shipping of the prize? Did they contact us previously, or just send to the adress on your account?
I wish to have at least one more round summertime
Hope more episode of Kotlin Heroes comes out. I am looking forward it because of the prizes and more extraoridinary problems for practicing Kotlin.
Why it shows that I solved 5 out of 5 in this contest but actually I do not solve any one. Actually I did not even registered for this.