Привет, Codeforces!
Вас приветствует компания DELTIX. Мы были основаны в 2005 году и являемся одним из лидеров в разработке программного обеспечения для исследований в финансовом домене и продуктов, решающих различные задачи системной и алгоритмической торговли. В 2020 году DELTIX присоединился к EPAM. Основной нашей задачей является быстрая и эффективная реализация перспективных идей в прорывные продукты.
Мы являемся экспертами по следующим направлениям:
- сбор, хранение, обработка данных
- моделирование данных
- тестирование и внедрение математических моделей
Поэтому в нашей команде ценятся такие навыки, как
- работа с алгоритмами
- написание высокоэффективного кода
- обработка потоков данных с минимальными задержками
Ближайший год, раз в сезон, мы будем рады приглашать вас участвовать в DELTIX раундах на Codeforces. Присоединяйтесь к первому из серии наших раундов — объединенному раунду Div.1 и Div.2 Deltix Round, Spring 2021 (open for everyone, rated, Div. 1 + Div. 2), который начнётся в 30.05.2021 17:35 (Московское время). Этот раунд будет рейтинговым и открытым для обоих дивизионов.
Призы, которые мы подготовили для вас:
1 место: Самая желанная консоль 2021 года PlayStation 5!
2 место: Nintendo Switch
3 место: Nintendo Switch Lite
1-100 место: фирменные футболки соревнования
А также 100 футболок достанутся случайным 100 участникам (из тех, для кого этот раунд будет не первым рейтинговым соревнованием Codeforces!), не вошедшим в топ-100, но решившим хотя бы одну задачу.
Задачи раундов были подготовлены нашими сотрудниками: Vladik, netman, AleXman111 и sdryapko.
Мы благодарим:
- KAN и budalnik за координацию раунда
- 74TrAkToR за идею для одной из задач, а также её подготовку
- всех-всех тестировщиков раунда: 244mhq, Tlatoani, gepardo, andrew, generic_placeholder_name, ajit, ptd, PurpleCrayon, 4llower, namanbansal013, coderz189, wxhtzdy, vineet16, kalki411 и viktoria.0907
- а также MikeMirzayanov за системы Codeforces и Polygon
Участникам будет предложено 8 задач и 2 часа 15 минут на их решение. Желаем всем успешного раунда и повышения в рейтинге!
Заполните короткую анкету и расскажите о себе, если у Вас возникло желание пообщаться с рекрутерами или членами нашей команды.
UPD: Разбалловка для задач: 500 — 1000 — 1500 — 2250 — 2250 — 3000 — 3250 — 3250.
Спасибо всем за то что приняли участие. Желаем приятного дорешивания! (разбор)
Также хотим поздравить всех победителей раунда:
1. tourist
2. Radewoosh
3. Um_nik
4. maroonrk
5. ecnerwala
6. jiangly
7. SSRS_
8. Petr
9. scott_wu
10. Maksim1744
Особые поздравления хотим выразить первой тройке лидеров! Мы постараемся как можно скорей передать вам ваши заслуженные призы :) К сожалению, мы сейчас не можем отметить людей, получивших 100 случайных футболок, по причине того, что поиск читеров не завершен.
So Which game are you going to play tourist on your brand new Play Station 5?
he already has 50 of them from code jam and hackercup
I came up with same comment to post in my mind but then I also knew that this praising will be surely down there already!
I think you should reconsider your statement after the contest is over!
And see the standing once :)
Crossing my fingers that "we value skills like high-performance coding" doesn't mean "Anyone who uses java is going to have a concussion from banging their head against their desk because of how tight we made these time limits"
If you think about it, screencasts are high-performance coding.
Will it be better if time limits are according to the languages?
It will be better if we have websites according to languages!
you are a classic example of minority being bashed by majority... xD
Well, it's a finance/trading company. Taking the phrase "make really good decisions really fast" to a completely new level is the only chance they have to be profitable. Their limits are imposed by competitors, not arbitrarily chosen. (That also gives you all the more opportunity to fail in this industry.)
Still not as tight as ur mom
Lmao, didn't see this coming at all
The more different rounds, the better! I also really hope that the tasks will be good.
Nice T-shirt :)
Look please at the comment above yours! I think that guy tells the truth
kartel orz
"Throughout the year, once per quarter, we will be inviting you to join DELTIX rounds at Codeforces." Wait, so we're gonna have one of these every 3ish months? :O
Yes, that's the plan! :) I hope we will delight you with our tasks
I would love to have that PS5.But I won't be able to achieve that this time.Maybe 5-6 years later in some div1 + div2 I will get PS6!!!
Buying with your money is better in than, 5-6 years :)
I am poor.Besides,winning something has a different sort of satisfaction.
Best of luck to all the participants :)
Warning: This round will be slightly harder, because I will be on a plane instead of donating my rating.
Please make the pretests strong! That's all I ask.
May the pretests be strong and time limits long.
Just like your D
Woah 8 problems? This one is big.
okay sorry I'm done
I like it when SecondThread gets involved in the comments!!
Specially when they have double meaning ; ), reaching "69+" upvotes on his sense of humour.
Nowadays codeforces is giving a lot of gap between two contests
Nice prizes !! Hope to win one of them in the future :))
8 problems in 2 hour and 15 minutes... are we going to face some easy questions!
:)
maybe it's a trap
yes its_Atrap
Poor trap sir, Everytime someone(me) ends up using his handle for replying to his comments ends with hoooge upvotes. But when he is using his own handle to reply he ends up getting downvotes. Please give him deserved upvotes
The world is so cruel :(
well what can we say, all I know is its_Atrap
Me being a 'specialist' calculating my probability of winning a PS5 in a combined round. But I forgot I'm bad at probabilities and even CP (-_-)
r/antimeme
You're the second one.
Can I have a T-shirts from the random generator :)))
I actually disagree with my meme I don't want to enjoy my new color
I'm excited to see that! Woahh, more div.1 + div.2 means more participating for me
Time for SpeedForces.
when you know there are playstation 5! you must be ready for the contest
I feel a little envious about the top three.
what is the name of the anime?
You're welcome
Gif works here ??!!! Wuuuut how
People good enough for top 3 probably already won 8 PS5s, 20 Nintendo switches, and 69 T-shirts. The only polite thing to do is ask the winners to give you their prizes.
Monogon can you give me your prizes that you have won ?!!
I'm very excited for this one, since it's happening after a long time. All the best everyone.
Testers were probably excited to put their feedback comments. Don't delay it further.
Testing is still in progress. I would like to mention all testers at the same time.
Nice. Hoping for strong pretests and looking forward to good tester feedback. :)
I already knew that the PS5 is going to be one of LGM's. :)
Deletdd
Hope Bugaboos will be good. May random be on my favor (that doesn't mean i want t-shirts :p)
how many bugaboos?
8 bugaboos, bro
As a tester, I can assure the problem set is fun, well atleast the first half surely is. Good luck!
Thanks for confirming you weren't able to solve any of the last half problems
yay trap is purple, orz
If I could, I wouldn't be stuck at low expert right :)
As an author, I want to assure that the second half is also worthy of attention :)
Are the problem statements long?
I didn't think it was much fun at all. The first 3 problems were pretty trivial and the rest were way too hard for me.
Good Luck everyone for this round!!!
We have four purple questionsetters!
no :)
Why the downvotes and no? Is the usage of question not allowed?
Sorry, I didn't really understand your question. If you think that I put a minus on your comment, then this is not true)
My mistake :)
Where is Anton when you need him?
Killed by 313 people yesterday :'(
That's kind of like what I meant. Wonder why I got downvotes...
kindly don't put a super hard and unconventional div2 B problem.
The winner of the contest will be probably have no time to play PS5 otherwise he wouldn't be the winner in first place :D
Umnik disagrees.
EnEm also disagrees.
what about scoring distribution? Also as a contributor i want some testing.
Is it rated???
:)
yes
everyone talking about prizes, I'm thinking to become candidate master asap.
bro, you improved a lot after the 17th or 18th contest that you gave. Can you tell what specifically did you do or how did you practice in that period
hard, I gave a lot of time to it.
thx bro, i will also try harder...
is it impossible to improve in codeforces without watching anime ?
no.
Yes. Anime is essential
hoping this will not be a div 1.5 round !
Score distribution looks sus
Seems like it'll be a contest of who can get D and E for me...
Can someone clarify that will it be rated for Div. 2 participants or not?
Yes, it will!
is it going to be a difficult or moderate one looking at the scoring distributions
It will clear in contest..
Codeforces is broken on my PC but it's working fine on mobile. Is it only happening to me?
It is fine for me
It will be my first contest as a specialist. Hoping for the best.
+1
my first round as pupil. hoping for the best
deltix round == bad round
deltix round = Div1 round :(
Looking at the standings, it seems Tourist is in urgent need of another PS5 ! Oh by the way, is there going to be Bugatorial for this round?
What's wrong with B??
Observation.. For any two pair you need to perform 1 1 2 1 1 2 or 2 1 1 2 1 1 or 1 2 1 2 1 2 or any valid formation ;)
1 2 1 1 2 1 works also...Indeed a good observation problem
Yeah... I got the hint just after I expressed my frustation here. It was my problem I read the question hastly. I think the basic step is how to swap two numbers without third variable logic.
Just upvoting you because your name is Luffy
\m/_(>_<)_\m/
And i thought the contest will be easy since it has 8 questions.LOL!!!!!!!!!
I really wish an easier problem was in place of D. Instead of writing this comment, I would have been solving a problem that was actually in my league. Contest would have been more enjoyable :(
Out of > 18 000 registered participants only 8 700 submitted anything after 90 minutes.
speedforces
D is too tough to even try
The fact that you were able to solve A, B, C in this contest indicates that you already punched way above your weight.
I am expert lol, I am fucking up some recent contest hence I am giving from this fake id
statement of C is shit
Please, help understand problem E
this bruteforce solution gives wa on 2-nd and 3-rd samples
full code: 117916698
Different sequences of operations have may have different probabilities, so you can't just calculate sum and divide by their number.
ok, got it
Problem statements should have been more clearer.(also no need of that image in each ques) :(
Oh wow! Not only bugaboos were great, but also these beautiful pictures in every bugaboo! Awesome contest.
how to solve the problem D ?
You would only need to test up to 2**p = 32768 bitmasks, and I think which can be optimised.
I have yet to pass systests however.
Edit: Failed systests, my solution is actually O(N * 2**(2*p))
I came up with a solution, with complexity O(const * n * 2 ^ p) but it's TLE.
how fast did you check is the mask good or no ?
You don't need n, you can maintain a map with the number of each state. As for iterating subset it is 3^p. So total complexity is O(n + 3^p)
Thanks for the interesting problems!
Ok C is the worst problem I have ever seen. I spent about 40 minutes staring at it and I didn't understand the statement till now. How could this problem even got accepted by coordinators?
Apart from that the problems were great but this really ruined the contest for me.
I would never have understood it if not for the samples, but reading the sample explains it pretty well, I think.
I'm not sure. At the end I just implemented some greedy shit that got accepted :D
look at the image
Such a lousy statement on Problem C, it's a shame. Incomprehensible what this is about. The setters work hard to develop and work out great problems, and then ruin the result with an incomprehensible statement text. Why? I do not get it.
Still don't know what we are supposed to do exactly, lol.
I have assumed the problem only by looking at the picture.
wasn't able to understand what the task C meant till end of the contest ;(
Pun Intended, tourist give me your old play station. :)
Am I the only stupid one who write about 100 lines for C and get 6 was??? It feels terrible (especially I notice other people in the same room pass this bugaboo neat and quickly :(
My strategy after struggling for hours with C..
Just relax in the forthcoming Deltix Rounds. Peace.
could someone provide counter case for this submission of problem c. Got 6 WA on this problem.
I hate combined rounds! I was sure that I would be able to hack a few people in D because my solution was randomized and usually, there are people who still don't seed their random number generators. However, because the round was combined and the room was mostly greens or cyans, there were only two solutions in my room, one of which had good random and the other didn't seem to have random at all.
Wow, how do you do it without randomisation?
I tried all possible subsets of (sensible) currencies (there is at most 2*p = ~30 of those) XD I implemented custom bitset and pruned execution if some subset yielded less than n/2 interested peoples. I doubt it will pass max tests, it passed pretest within 700ms though. For reference: Submission 117911694
Edit: Systests passed in 750ms :D Hooray
I did almost the same thing. Maybe you can continue the loop when this state's number of $$$1$$$ is less than or equal to the current answer.
And it got TLE :(
Then I tried to break at 2.8s, it passed again :((
And my solution got hacked(WA) yet...Now I wonder whether there's a solution without random
The main difference between our solutions is the presence / absence of prunning. What do I mean by that?
Consider that you use some subset of currencies (for example currencies
100110
) and you've concluded that it's impossible to satisfy at least $$$\frac{n}{2}$$$ people. This means that you don't have to evaluate all "super-masks" (supersets of currencies), for example110110
,101110
,100111
and any other. And I see that you evaluate the satisfacion for those masks anyway. In my case, the reccurence does not "enter" any states corresponding to superset (which is hard to do with loop).The other difference is the computation of guests satisfaction. From what I see your logic is somewhat convoluted because of your data structure — you have bitset mapping which person likes what currency, and I have it the oposite way — which currency is liked by whom. It gives fast computation to check if enough guest will be satisfied (it allows for computing bitwise
and
inO(n/32)
).You are right. I totally don't consider supersets of failed masks. But I remember bitset's time factor is divide by 32 or 64 too...
I did similar thing and got TLE on test 112!!!
Edit : It can be saved if I get a T-shirt!
I tried to implement similar idea, but in python. Guess I had no chance
Can you explain your approach?
Yes.
First, you start by selecting only currencies that interest at least n/2 friends. It can be shown, that there are at most $$$2p \leq 30$$$ such currencies. In my code I store their indices in vector
relev
(it contains only RELEVant currencies).Secondly, you create bitsets for your relevant currencies. In other words, you create around $$$2p$$$ bitsets of size $$$n$$$. We need those to be betsets because we need them to quickly compute bitwise
and
and number of ones (ie. popcount).Now we proceed to the reccurence. If you have some subset of first $$$idx$$$ currencies, you can either add the next one to the set or skip it and proceed with the same subset. If you added your currency, check if it satisfies at least $$$\frac{n}{2}$$$ people. If it doesn't — don't evaluate reccursive call (bitset
zadowoleni
, which means "satisfied" in Polish, stores the bitset of people satisfied with current currency subset;sklej
method computes bitwiseand
). Now simply return the best of the two reccursive calls. In short, recurrence structure is as follows:Finally you simply reconstruct the answer with all currencies based on
relev
vector.What would be the time complexity,
O(2**(2p))
for the bitset, andO(N)
for the comparison, leading toO(2**(2p)N)
? Or am I missing something?Roughly speaking, yes. But note, that any solution can have at most $$$p$$$ currencies so we are quaranteed not to check all $$$2^{2p}$$$ sets even in the worst case, but only sets with size up to $$$p$$$. In the average case I believe it will compute much less currency subsets.
Additionaly, comparison has a very low constant factor due to bitset ($$$O(N/32)$$$).
Thanks, this is a nice solution, especially how it utilizes the powers of 2 to suppress the time complexity :D.
Hey Wielomian, I tried running your submission — https://codeforces.me/contest/1523/submission/117911694 but it is now TLE'ing in TEST-131. Any workaround how to proceed with this?
My submission with the same code — https://codeforces.me/contest/1523/submission/118490042
I hacked it back in the day (You can see the hack at Submission 117911694). It seems that the system tests were simply weak and that there was no max test with $$$2p$$$ relevant currencies (which is weird). And thus allowed for such a solution to pass. Possibly this testcase was added after the hack for upsolvers.
To me it seems that one must incorporate the $$$dp$$$ as described in the editorial rather then bitsets to have fast update of people counts for subsets, which I don't understand, honestly.
How to solve D with randomisation (
Select a random person. With probability $$$\frac{1}{2}$$$ they are in the $$$\frac{n}{2}$$$ chosen in the optimal solution.
Then you can do bitmask DP over only the bits that they like.
Repeat 30 times for $$$2^{-30}$$$ chance to fail.
Hi, Suppose I select a person and I do all the bitmask, there are 2^p masks but in order to know how many members are there in that mask, I need to iterate all of n right ? Even with iterating only among the persons where the mask exists, I will still be needing 2^p instead of n, so the complexity becomes O(iters * (2^2p)) or (O(iters * n * 2^p) which is worse than the brute force O(n * 2^p) ). How to eliminate 'n' or another 2^p ?
You count how many times each of the possible $$$2^p$$$ bitmasks appears in $$$\mathcal{O}(n)$$$ time. Then you do SOS dp in $$$p \cdot 2^p$$$ time to count for every bitmask how many times a bitmask containing all of its bits appears.
Actually how to count each of the possible 2^p masks appear in O(n) time ? Wont it be O(n * 2^p) ? could you pls elaborate ?
Also could you pls elaborate on what you are doing here ?
I reduced problem D into a bipartite graph problem where friends would be in one side and currencies would be in another side. Now, if we select x from friends and y from currencies, we need all x's to be connected with all y's and we gonna take maximum y such that x meets sufficient conditions.
Couldn't proceed further.
how will you know who will be included in the list of 100 random people who will receive t-shirts?
+1
they wrote to me "after checking the cheaters, we will publish the script and the list" :)
I'm so nervous that my D will get TLE. I just use something like bruteforce....
FML, TLE on 112
Fine, finally a reading comprehension round.
read E as "exist a continuous segment of length k with all lights turned on", and the sample explanation doesn't contain anything about this.
Same...
SAME
+1
Same, until the end of the contest (until reading this comment) :/
same (I spent at least 20min reading C)
I didn't realize it until I read this comment...
Same >:(
Same.
Same...
I made an assertion statement in C to check if the first character is 1 or not, I got a runtime error! I can't believe it has more than 3k AC.
Submission with assert. Guess you have RTE somewhere else.
how did testers approve C , the language was pathetic , wasn't able to get what the task meant till end...
Wait when you changed n upper bound to 1000 for B? I always think it should be 2000 and the requirement is 5000... i spent like 1 hour thinking about how to get better than a 3n solution but the question description :(
what is wrong in my submission of C link
OOf just lacked a tiny bit of time for D lul
Tried Bruteforcing got TLE Tried Bitmasking + Bruteforcing got TLE Tried Further bitmasking + Bruteforcing contest finished
OH NO
Why the next contest is after 2 weeks (⋟﹏⋞)
+1. Frequency of codeforces contest has decreased compared to month back.
Randomised solution for D:
Randomly take a friend and assume it to be the part of the final subset now compare all other friends with this subset and use submask dp in the end to find maximum size subset. I took 25 random friends.
why so bad...
Does problem C's initial statement form a proper problem? Before the sentence 'then the sequence of items should always remain increasing in lexicographical order' was added, I couldn't found the operations like
1
2
1.1
are invalid from the initial statement.
The announcement of the addition of previous sentence was so late that it's hard to say that the impact of this problem was little.(actually, I've use so long time to debug my code which was doing something like the previous operation)
Hope for the appropriate response.
It's not only "hard to read" or "hard to understand" but it's broken as a problem. I can't say it's enough to be unrated but should take into account whether making this round unrated or not. MikeMirzayanov Vladik
I think this mistake is enough to be unrated.
I agree. Making such a significant change to the problem statement 40 minutes into the contest is unacceptable. This contest should be unrated.
Agree "take into account whether making this round unrated or not".
For me , I wasted at least one hour in C . And have no time to read E.
MikeMirzayanov,Vladik
I totally agree with you !
Did you forget to log out your clone to comment? This is just hilarious.
I agree, the problem basically changed halfway through. I don't think this should happen.
yes, the addition was not just the description. it fundamentally changed the problem.
We are sorry for this issue in the statement. None of the testers and authors noticed that the formal definition of a multi-level list was not exactly correct. The statement was corrected and an announcement was made as soon as the issue was noticed. Fortunately, most of the participants followed the common sense about what a multi-level list is and authors meant exactly that.
By the way, I think when a high-rated participant finds something strange in a problem, like statement does not match usual definitions, or some other mistake, they should report that to the authors (in any contest, not only here). It is much more probable that there is a mistake or that you misunderstood something rather than authors deliberately made a trap without mentioning it explicitly. Reporting that will help authors and save your time.
Will the round still be rated?
Yes.
Nikolay, Is that somehow possible to retest all solutions for problem A in this contest? What I've noticed is that there are 5 lists of participants who got TL on this problem, whereas only 1 list of people passed system tests, and all of them had linear algorithm, but according to the editorial quadratic solution should pass. Thanks in advance
Lost t-shirt by this shit problem, also lots of rating.
so, you mean that the problems are still remain correctly even if it is mathematicaly wrong but can perdict it from some kind of fuzzy "common sense"?
I don't so much care about whethere it is unrated or not, but the dealing with this issue to say "if youre high rated and found it strange, report it" is a question mark(as statement makes a sense without the order constraint, I have no idea but somewhere of my code is wrong.)
Problems should have been established only by the problem itself. not depening on something lile "common sense".I hope the future rounds wont repeat and I can help it by reporting.
I have one nice idea for preventing: let's totally get rid of STORIES :)
I don't understand — there are so many problems — Anton coordinated ones especially, where the "definition" is the trick to the problem. By putting the pressure on these high rated participants, you are effectively scapegoating them to do the work that authors should have done — listen to tester feedback.
Oh, and, "none of the testers noticed..." is just shifty phrasing. Testers complained about the statement of C saying it was confusing. You know that.
I did not take this contest, but I am equally outraged about the way this matter was handled.
I made the same mistake ,and I wasted at least one hour in it and get four WA :<
Does problem C's initial statement form a proper problem? Before I got AC using the decimal numeral system, I couldn't found the operations like
1
2
3
4
5
6
7
8
9
A
B
are invalid from the initial statement.
It was so late that it's hard to say that the impact of this problem was little.(actually, I've use so long time to debug my code which was doing something like the previous operation)
Hope for the appropriate response.
who else got TLE in A? :d I think for big number of m and "1111...110111....1" this kind of solution was the main reason right?
Can anyone explain how to solve E?
The problem statement of C is unreadable.
[. .
omg, that must feel bad ;)
omg!
rating predictor is showing -213 OMFG
Yeah , My bad luck :(
So basically you participated but decided not to submit because didn't want to ruin you rating and as a result you did exactly that
What irony
I didn't even wanted to participate ( the biggest reason being I was busy in upsolving today's ABC's E) I started contest after a good amount of time , But that happened . leave it , I think nothing could be done .
[](https://ibb.co/y4sNBRs)
I resolved the bug in my solution to problem C, but only 12 seconds were left. I couldn't submit it. I wish I had 1 more minute.....This is so saddening.
Didn't unterstand E correctly, FSTed in both C and D, bad day for me :(
Not your fault, this round is shit.
If you wonder how is it possible to FST in C, here's the answer:
I stored the input in an array $$$a$$$.
The array $$$a$$$ is an array of integers in my default source, but when I solve problem A, I changed it to char. And when doing problem C, I forgot to change it back:(
And it passed pretests:(
Imagine writing all problems in the same file, lol.
can anyone of the testers , problem setters tell what was going through their mind when they approved the language of problem C , complete nuisance it was
You don't know the dance and says floor is tilted (naach na jane aangan tedha)
Weak pretests on D!
Asking for hack: my submission for D
My solution is totally wrong but I can't hack it.
It was interesting!
Your hack is amazing!
By the way, I've written another wrong solution which passed all the test cases.
You may hack it here :)
In problem A, I think it is immoral to write the constraints as such
When I read the top 2 lines I would think the intended solution to be O(n), while an O(n^2) solution would also pass.
I dont't get it, why this comment is getting downvotes
I think problem C is different problem before and after the problem statement is changed.
before changing the problem statement,
1 1 2 2 1 3 3
is valid sequence(because you can make a list like below:
),but after changing the problem statement,this is invalid sequence.
I was very sad about this change.
I've chosen the solution same as yours and get "Wrong answer on test 2."
As allowing the "non lexicographical order" operations just extend the valid operations and the fact that "all testcases has solution", our solution have give a answer.
but the verdict was "Wrong Answer" so I guess the output checker was checking is it lexicographical order or not.
If the output checker was taking into consideration but forgotten to write in the statement, it's a so so FATAL MISS!!!!
not gonna lie, I saw the first version of the problem. Didn't understand it at all. I only understood it from the image. I guess the image actually has better explanation that the statement its self Lol. But yeah, that is really sad :c
You can provide solution with test case : 10 1 1 1 2 2 1 2 3 3 3 is it a correct test case ?
with my (before the changing problem statement) solution (117891713 ),
is provided.(after changing, this sequence is invalid.)
You can solve (before the changing) this problem by listing all items that can appear next.
I solved problems F and G after contest, and both were interesting. I also like problems D and E. Thanks for preparing this round.
In problem B, I realized that I needed to do 6 operations for a pair, but I multiplied 6 by 1000, although there are only 500 pairs( So I came to a more complex solution after an hour.
Maybe someone will be interested https://codeforces.me/contest/1523/submission/117914942
In this solution I am doing 14 operations for every four of numbers. If the number of numbers is not divisible by 4, then I do 6 operations for the remaining pair.
I'M SO STUPID! 14 for four numbers in my solution is bigger, than 12 for two pairs!!!
Well, at least I could immediately understand it. Here is the normal solution https://codeforces.me/contest/1523/submission/117920818
Hey, anyone else did not pass Problem A because they used Python??
Yo bro me too, python is crap
I think I will just have to stop using it. This is the second time this happened to me. I am sad cuz its just so comfortable to work with strings in python...
I used pypy3 and passed A (although I was scared that it wouldn't!)
If anything, with very few exceptions, Python's performance is more than enough for div2 participants
I used Python 3 for problem A, B, and C with no issues. Maybe you just had a bad implementation.
What was the point on the weak pretests for A?
What is the point of having 37 pretests for D and still I fsted ?
As a contestant, I want a t-shirt :v .. That T-shirt is so beautiful.. <3
Operation can only be applied if the list does not contain two identical items afterwards
Can someone explain what this statement means with respect to problem C ?
It means you can't have duplicate items in the list, for example [1, 1.1, 1.1, 1.2] is not a valid nested list.
This statement on tallying it with the sample explanation left me puzzled and blank!
The last second I found I just use
rand()%n+1
to select a person randomly on problem D. That's why I got wrong answer 5 times on pretest 36. I will never forget this trap. :(RAND_MAX is 32767 on OJ.
But it is 2147483647 on my laptop.
QAQ
go read this: https://codeforces.me/blog/entry/61587
Thanks
such a very good contest, many thanks for deltix !!!
This round was as good as the problem statement of C:)
C was more like a headache T_T.
chert
I misread E that he continues turning lights on until K consecutive lights are on.
Explanation of the example matches it :(
I think it is way harder than the original problem. Is there an easy way to the problem that I understood?
I'm not sure if you wanted a subquadratic solution, but I think you can do it in $$$O(n^2)$$$ with the following lemma.
Lemma: Let $$$X$$$ be a random variable that takes non-negative integer values. Then $$$\displaystyle E[X] = \sum_{i = 1}^{\infty} Pr[X \ge i]$$$.
From the lemma, it is sufficient to find $$$\displaystyle \sum_{i=0}^{\infty} Pr[\text{There aren't k lights in a row after i steps}]$$$. This can be done with DP in $$$O(n^2)$$$ by finding the number of ways to pick $$$i$$$ lights from the first $$$j$$$ such that no $$$k$$$ of them are consecutive, for all $$$i,j$$$. Maybe there is some way to optimize this, idk.
abc were the most rubish problems I had ever seen
Finally a good round after back to back bad rounds for me.I do admit even I didn't like the problem statement of C. But that table at the bottom helped me a lot. :)
abc were the most rubish problems I had ever seen
A and C was supposed to be non existent due to their bad quality. But I find B not that bad for a Div 2 A or an easy Div 2 B.
Idk but I felt C statement was not clear enough ,add that midway change,I solved a whole of different version of it until I reread statement .Maybe I had to work upon my English:(
who else understood the statement for C because of the image?
Well, I was about to get purple, until my D FSTed. Do you guys know how it feels when you are about to purple for the first time and you end up losing rating instead cuz of FST ! :sob: :sob: :sob:
А все таки, как додуматься, что нужно 6 операций типа 1 2 1 2 1 2 в задаче В. But still, how do you figure out that you need 6 operations of type 1 2 1 2 1 2 in problem B.
ну, в условии написано, что длина массива постоянно чётная, значит, возможно, надо одно с другим вычитать друг из друга, потом на листочке если посмотреть, то становится ясно, что нужно постепенно менять их местами, тем более, если элементов в массиве может быть 2.
рассмотрим ситуацию, что нам нужно поменять местами a1 и a2, дальше на листочке смотрим, что нам лучше из чего вычитать и в каком порядке, лично у меня порядок был 1 1 2 1 1 2
after triggering it all items in the list were replaced by a single number: the last number originally written in the item number. f***, after looking at the test data I realized that I solved a completely different problem for C, I thought that the list was replaced by the last number i.e the digit written on the list. Also the sample test data contained all a[i]<=9. The problem statement just ruined it man. The writer should provide a concrete example of what he wants to convey.
The problem C itself was not bad
But the statement was crappy and if none of the testers noticed it, they did crappy job as testers.
I don't know what exactly is tested during preparation, but clarity of the problems statements should certainly be one of such things
About problem C. I read the problem sentences before the announcement and thought the answer is not always increasing in lexicographical order. So I was confused when I got the announcement. But I trust that the writers will not change the sentence in such a way that what the problem means will change and therefore I searched for what was wrong with my thought. Eventually, there prove to be nothing wrong with my thought (as there are mentions in other comments). Would I have been better not trusting the writer? I'm worried whether I can trust the writers in future contests :(
What a shame, there are 15 testers while none of them notice the problem in C
To not keep you waiting, the ratings updated preliminarily. In a few hours/days, I will remove cheaters and update the ratings again!
I just hope, i get a +1 after that :}
Come true!!!)
yes ;)
Congrats! :)
Thanks :}, congrats to you too on becoming master
This round should be unrated. The statement of problem C changed during the contest and many contestants were affected.
I highly appreciate your Honesty , Even after becoming LGM for first time , you are saying that the round should be unrated . BTW congrats for becoming LGM.
yeah it should be, I think by the time I reached C, the problem statements were already changed, so I didn't notice that.
Not only for the statement of problem C , but also the weak pretests on A and D.
i waste my 1 hours to solve C problems..
want to take a glance at the issues on C.
https://codeforces.me/blog/entry/90915?#comment-797718
can anyone help in Problem A my same code got accepted in pypy while it got tle in python
my python submission https://codeforces.me/contest/1523/submission/117886063
my pypy submission https://codeforces.me/contest/1523/submission/117932947
Ps: I tried pypy after the contest
Thats why you should consider pypy over cpython when the runtime is tight for your solution.
in Pypy runtime is 200 ms only runtime is same as others n**2 is there anything cdeforces can do for this issue?
It is not an issue. Pypy is faster than Python most of the time.
Большое спасибо за раунд! Задачи очень интересны в формулировке и было приятно над ними думать)
Now Radewoosh will be at the top of codeforces rating !!
I can already feel the breath of the wild.
After this round it is clear that why antontrygubO_o is the best coordinator on this platform.
You didn't even solve the round. What are you talking about?
ok
do virtual
weak pretest on A!!!!
Weak system test on D .
Will there be a random distribution of other 100 t-shirts or will it be priority based like 50 to initial 1000s ,25 to next 1000s ,and likewise?
T-shirts will be distributed completely randomly among the participants who have fulfilled the conditions.
will the list of candidate be posted publicly or the lucky ones will get mails just curious to know?
We will post all people in a comment. And also publish the script.
.
If our analysis of the problem was not clear to you, then I recommend listening to the explanation of the solution from Errichto: https://youtu.be/2S19tjbu_48?t=270 . His reasoning completely coincides with ours when drawing up the problem.
By the way, this problem could be presented formally, if we formulate it in terms of graphs. Then we would have got a tree, and the numbers denoted the ordinal number of the edge at the parent. As we understand now, in such a formulation, the task would be liked by a larger number of participants. But as the aforementioned Errichto notes, we wanted to make the task more interesting by connecting it with real life.
Nothing bad of making the problem interesting, but what you did is just make it an unreadable piece of shit. That is NOT how one should prepare a problem.
I sincerely do not understand why to show so much aggression. How would you write a statement for this task?
Then why to give this task?
As KAN mentioned above, the problem was read by a large number of testers, as well as by all authors. None of us found a problem in the formal definition of what a nested list is. If to answer your question briefly, the answer will sound like "we did not know that the task would be incomprehensible to some people because nothing indicated it." Of course, if we knew that the task will cause negative emotions, then we would not have added it to the round.
We do not have an aim to hold a round just in order to hold a round. We wanted to make it good and memorable. Great efforts have been made to make the round a good one. There are people who did not want to be mentioned in the announcement, but put a lot of effort into preparation. For example, an illustrator and translator.
I just want to point out that conclusions have been drawn regarding this situation and we will involve even more people in the next round so that such problems do not have a chance to exist.
That's a problem. I understood it pretty fast but I chalk it up to my experience and language skills and most importantly looking at the examples. Still, I instantly concluded that the definition is terribly written — people who don't have those language skills should struggle with it. The fact that nobody realised that when testing isn't an explanation, it's a problem by itself.
There are probably more details but I'm sure this would've helped a lot.
Thank you very much for the detailed message! I think that everything you wrote makes sense.
William is a huge fan of planning ahead. That is why he starts his morning routine by creating a nested list of upcoming errands.
A nested list is a numbered list where a period indicates the outer list contains a nested sublist. For example,
is a valid nested list.
Formally, the following conditions must be met for a nested list to be valid.
1.1.1
as an identifier in the list)Note: There may be any number of nested levels and the numbering of the lists follows base 10 (decimal system).
Unfortunately, William has lost his original list, but he remembers the last number in each row. Help William find any valid nested list that matches the description given by William.
Note 1:
is not valid as 1.1 doesn't exist.
Note 2:
is not valid as it violates 2 rules
Hopefully, something like this could have made the task simpler to comprehend. At least I would easily get what is needed to be done if it was presented like this.
The picture in the question is a hint to understand the question, but I don't suppose many would have bothered to look at it.
Thanks for the round! I enjoyed problems F and G, and the rest of the problems are nice too.
To everyone: please be respectful towards problem authors. If you're criticizing, do it in a constructive manner. It's disappointing to see a ton of comments with nothing but aggression.
I have never seen a round organizer answering each and every query of the participant which has been done by Vladik.Hats off man.It was a great contest .Ignore the idiots who are blaming you for tough language of the problem.You provided with pictures ,you did your best ignore the idiots.
Dibs on tourist's previous PS.
Vladik please make sure that the t-shirt reaches my address.
Today I received 2 messages from the system telling that my codes for problem B (117877311) and C (117883398) matches with the codes of aerfanr for problem for B (117886611) and C(117894142).
So please note that I do not share my codes to anyone and I have been using rextester.com to run my codes, which does not automatically publish any code. The match is a coincidence which has occured due to the simplicity of the solutions, For both of the submissions the main part is only 10-12 lines and the approaches are same as in the editorial. Also check that at any point, the implementations entirely different.
MikeMirzayanov Please help me and tell me if there is anything more I can do to prove the coincidence.
Thanks, this issue has been resolved before you wrote. You can see that you both are official participants of the round.
Thank you very much.
It's great that you care so much that you resolved it even before I wrote.
Who created the question. There was a mistake in 1 problem where the range can go out
why don't you use codeblocks/clion?
MikeMirzayanov,Vladik is the round declared unrated, or the ratings would be returned soon. please clarify.
Ratings are back
Will you publish a list of people who have won T-shirts or just let them know?
The search for cheaters is completed. Waiting for the list :)
For Problem C, Please anyone review my explanation.
Let's suppose the current stack is a,x-1,b,x-1,c
Choosing the right most x-1, a,x-1,b,x -- state 1
Choosing any x-1 other than rightmost a,x -- state 2
It's not hard to see that state 1 gives us more choices and also includes the choices of state 2.Hence,It's fair to go with state 1.
Suppose we got a sequence of length n .a1,a2,.......an
In case of adding 1 It will increase the sequence length so It will change.
In case of other than 1 It will definitely change some element of the sequence and decreases its length even though we might end up with length n again but its element will be different as It has already got changed.
P.S- I want to improve on proofs. Your review will be constructive for me.
Please don't downvote me, my contribution is turning negative :(
MikeMirzayanov, Vladik/ Guys, hurry up, please, I have been updating the site for 2 days in a row to find out the list ;(
Congratulations to tshirts winners! You will be contacted via private messages with instructions to receive your prize.
As usual, we used the following two scripts for generating random winners, seed is the score of the winner.
Hi ! How can i receive my t-shirt?
You will be contacted via private messages with instructions to receive your prize.
Thanks a lot :)
Just my personal opinion. In general and not specially related to this contest. But, I think "You would accept the T-shirt if given" option just below Confirm Participation of contest.
I'm sure many of Top people (say tourist for eg) would not want t-shirt. It would be waste for him and it could be really motivating and worthy for someone below him. I meant at least one person would be very happy if tourist didn't receive t-shirt.
ohhhhhhhh~
orz
Sorry, I'd like to ask. I'm on the list, but there's no message informing me of my T-shirt.
I also did not get any message.
me too :( Sir KAN When will you message via private ?
Usually it takes a few weeks until Una_Shem contacts you.
hii..! I haven't received my t-shirt yet. Could I get any update about this..
Hello! T-shirts haven't been shipped yet, but are ready to go and should reach their owners shortly.
Unfortunately, this is not as fast a process as we would like. We had to wait for all the participants to send the size of their T-shirts and only then start making them.
I haven't received my t-shirts till now!
Hi! I haven't received my t-shirt til now. Almost a year has passed. Could I get any update about it?
Hi! Please contact Una_Shem via codeforces private messages. We sent all the T-shirts to the codeforces side, according to the latest information I have, the T-shirts for the first two rounds have already been sent.
When you send a mail that is you received tshirt Or not????