Автор deltixlab, 4 года назад, По-русски

deltix

Привет, Codeforces!

Вас приветствует компания DELTIX. Мы были основаны в 2005 году и являемся одним из лидеров в разработке программного обеспечения для исследований в финансовом домене и продуктов, решающих различные задачи системной и алгоритмической торговли. В 2020 году DELTIX присоединился к EPAM. Основной нашей задачей является быстрая и эффективная реализация перспективных идей в прорывные продукты.

Мы являемся экспертами по следующим направлениям:

  • сбор, хранение, обработка данных
  • моделирование данных
  • тестирование и внедрение математических моделей

Поэтому в нашей команде ценятся такие навыки, как

  • работа с алгоритмами
  • написание высокоэффективного кода
  • обработка потоков данных с минимальными задержками

Мы рады сообщить о выходе TimeBase Web Admin Community Edition.

Читайте больше о нас

Ближайший год, раз в сезон, мы будем рады приглашать вас участвовать в DELTIX раундах на Codeforces. Присоединяйтесь к третьему из серии наших раундов — объединенному раунду Div.1 и Div.2 Deltix Round, Autumn 2021 (open for everyone, rated, Div. 1 + Div. 2), который начнётся в 28.11.2021 17:35 (Московское время). Этот раунд будет рейтинговым и открытым для обоих дивизионов.

Призы, которые мы подготовили для вас:

1 место: Samsung Galaxy Z Flip3
2 место: Samsung Galaxy Tab S7+
3 место: Samsung Galaxy Watch4
1-100 место: фирменные футболки соревнования

А также 100 футболок достанутся случайным участникам (из тех, для кого этот раунд будет не первым рейтинговым соревнованием Codeforces), не вошедшим в топ-100, но попавшим в топ-1000.

Все задачи раунда, кроме последней, были подготовлены нашей командой: Vladik, 4llower и AleXman111.

Мы благодарим:

Участникам будет предложено 8 задач и 2.5 часа на их решение. Желаем всем успешного раунда и повышения в рейтинге!

Заполните короткую анкету и расскажите о себе, если у Вас возникло желание пообщаться с рекрутерами или членами нашей команды.

Перейти к анкете →

UPD: Разбалловка для задач: 500 — 1000 — 15002000 — 2750 — 3000 — 3250 — 3750.

Спасибо всем за то что приняли участие. Желаем приятного дорешивания! (разбор)

Также хотим поздравить всех победителей раунда:
1. tourist
2. DmitryGrigorev
3. xtqqwq
4. Maksim1744
5. VivaciousAubergine
6. maroonrk
7. jiangly
8. heuristica
9. QAQAutoMaton
10. Crysfly

  • Проголосовать: нравится
  • +221
  • Проголосовать: не нравится

»
4 года назад, скрыть # |
 
Проголосовать: нравится +72 Проголосовать: не нравится

Yet Another Waving Arm

»
4 года назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

all of the Deltix rounds were good so far. hope for another great around

»
4 года назад, скрыть # |
 
Проголосовать: нравится +21 Проголосовать: не нравится

Throughout the year, once per quarter, ....
Is this last round or should we expect more rounds next year?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится

Looking Forward to this <*_->..

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится +20 Проголосовать: не нравится

Looking forward to this contest! Hope every one can gain rating.

I think Deltix rounds always have high quality and wonderful problems.

»
4 года назад, скрыть # |
 
Проголосовать: нравится -17 Проголосовать: не нравится

Hope This Time i can solve 4 Tasks...

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится -36 Проголосовать: не нравится

.

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Deltix rounds always have interesting problems and wonderful pictures). Good luck for everyone!

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится +26 Проголосовать: не нравится

Is it a habit to wave the hand when opening codeforces?

It still looks pleasantly surprised, even scary :)

»
4 года назад, скрыть # |
 
Проголосовать: нравится +15 Проголосовать: не нравится

Should I participate in this round or enjoy being Candidate master a few more days :)

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Is It Hard?

»
4 года назад, скрыть # |
 
Проголосовать: нравится -45 Проголосовать: не нравится

Is It Hard?

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Scoring Distribution ?

»
4 года назад, скрыть # |
Rev. 3  
Проголосовать: нравится +69 Проголосовать: не нравится

This was my first time testing a CF round. Hope you enjoy the round!
(Also please give me contribution uwu.)

»
4 года назад, скрыть # |
 
Проголосовать: нравится +87 Проголосовать: не нравится

as a tester, good luck in this amazing contest

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится +3 Проголосовать: не нравится

very good part of deltix contests is that their problems contain interesting ideas

UPD : Also images in each problem

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

It is showing extra registration but I cannot find register button?

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

How to do extra registration?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +74 Проголосовать: не нравится

Successfully wasted my 45 mins in understanding problem D statement :)

»
4 года назад, скрыть # |
 
Проголосовать: нравится +7 Проголосовать: не нравится

Just noticed that there are so few participants this time, why is that?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

I will NEVER participate in any contest hold by DELIX.

»
4 года назад, скрыть # |
 
Проголосовать: нравится -11 Проголосовать: не нравится

tourist surpasses 3900 :)

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Quite a nice contest in my opinion
Though difficulty gap between D and E could be better. The way it is D seems 1700 and E is 2300

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится +9 Проголосовать: не нравится

i respect rainboy from bottom of my heart... this guy deserves a special mention ...rainboy can inspire anyone ...whenever i feel low i look up to him ...

»
4 года назад, скрыть # |
 
Проголосовать: нравится +15 Проголосовать: не нравится

E is an easier version of 750E.

How do you solve F?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

Would that be possible to solve D for n ~ 10^6?

I realized n was small very late into the contest and was thinking about variant in which n can be bigger :/

»
4 года назад, скрыть # |
 
Проголосовать: нравится +5 Проголосовать: не нравится

What was testcase 11 in problem E?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится

Can anyone show me how to solve problem E please :>.

»
4 года назад, скрыть # |
Rev. 3  
Проголосовать: нравится +25 Проголосовать: не нравится

Are the three observations to E literally meant to be:

  1. Solution is of the form $$$(b|c)^*(a|c)^*(a|b)^*$$$

  2. For a single string this can be counted in $$$O(n)$$$ with a $$$3 \cdot n$$$ linear dp of (position, current segment).

  3. This can be generalized to performing updates / queries by using a segtree with a $$$3 \cdot 3$$$ node (starting segment, ending segment), where a given state $$$[l, r]$$$ is the min over all possible combinations of $$$[l, mid]$$$, $$$[mid, r]$$$ from its children.

If so I don't see how part 3 adds any value to the problem except making it harder by just adding data structures.

Its also really easy to guess since a lot of linear dp solutions can be made to support updates (and arbitrary range queries) using this type of "prefix suffix" segtree similar to how it is done for maximum subarray sum.

I suspect if the queries part was removed and it was put at C it would have a similar solve count to a normal Div2C.

People (including me) probably just brick on it because its an E and we except the solution to be some tricky adhoc observations and not just get linear dp and apply segtree.

I spent almost 1 hour trying to observe properties about the relation between the boundaries of the middle segment before getting frustrated, thinking about data structures, realizing I could probably solve this problem using "prefix suffix" segtree if I could create a linear dp that solves it. After that it took me about 15 mins to get the linear dp, formulate the segtree state, code and debug it.

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +9 Проголосовать: не нравится

    How can you count things of form $$$(b | c)^* (a | c)^* ( a | b)^*$$$ using a $$$3 \cdot n$$$ linear DP?

    • »
      »
      »
      4 года назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится +7 Проголосовать: не нравится

      Short explanation — Suppose I asked you to count the minimum removals to get a string $$$a^*b^*c^*$$$. If you can solve that problem do the same and just invert the costs.

      Longer explanation — Clearly for any array, we will have some part $$$[1, i]$$$ of the form $$$(b|c)^*$$$, $$$[i + 1, j]$$$ of the form $$$(a|c)^*$$$ and $$$[j + 1, n]$$$ of the form $$$(a|b)^*$$$ (of course one or more might actually be empty in practice such as for $$$bbbaaa$$$ which doesn't need a third segment).

      If we know which segment an element belongs to, we know whether it needs to be deleted (1 cost) or not (0 cost).

      So we just need to determine the point at which we go from segment $$$j$$$ to segment $$$j + 1$$$.

      So we just calculate $$$dp_{i, j} = $$$ the minimum number of deletions if the first $$$i$$$ elements are in the first $$$j$$$ segments.

      $$$dp_{i, j + k}$$$ updates $$$dp_{i + 1, j + k}$$$ with cost 1 if $$$s_i = j + k$$$ or 0 otherwise.

      My submission (137260285) actually has this dp still left in the code though note that technically does only $$$j$$$ and $$$j + 1$$$ instead of $$$j + k$$$ which is still likely correct but general $$$j + k \leq 3$$$ is safer.

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    This is new for me. What is the general approach to convert a linear dp to a segtree for performing updates?

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +43 Проголосовать: не нравится

    My original solution required $$$9 \times 9$$$ node matrix, though...

    But I agree that E is boring. (FG is boring too)

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +30 Проголосовать: не нравится

    I disagree that E was boring (maybe because I didnt came up with any DP idea). My solution was that we want to count minimum of #a + #b + #c when we break our string in three intervals which is equivalent to (#a — #b) + 0 + (#c — #b) + total b's. Then we can use segment tree to get the solution.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +9 Проголосовать: не нравится

any ideas on what is pretest 11 in problem E

»
4 года назад, скрыть # |
 
Проголосовать: нравится +47 Проголосовать: не нравится

Is the complexity of standard for problem F O(n log n) ?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

Can someone explain D's question ? How come after 4 edges in the second example answer is 4 ? Any person can be introduced to atmost 3 other persons right (among 1, 2, 3, 4). Plus How come after 5 edges in the second example, the answer is 5 ? (1, 2, 3, 4 have edges 6-7 have no connection to any of 1, 2, 3, 4).

»
4 года назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится
»
4 года назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

C was nice

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Problem A how is the case 15 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 working?

  • »
    »
    4 года назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +1 Проголосовать: не нравится

    16 8 8 8 8 8 8 8 8 8 8 8 8 8 4

    16 16 8 8 8 8 8 8 8 8 8 8 8 8 2

    16 16 16 8 8 8 8 8 8 8 8 8 8 8 1

    16 16 16 16 8 8 8 8 8 8 8 8 8 4 1

    16 16 16 16 16 8 8 8 8 8 8 8 8 2 1

    16 16 16 16 16 16 8 8 8 8 8 8 8 1 1

    ....

    35184372088832 1 1 1 1 1 1 1 1 1 1 1 1 1 1

    => sum of all = 35184372088846

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится +75 Проголосовать: не нравится

Is it just me, or someone else too faced difficulty in understanding the statement of problem D. Wasted nearly three-quarter hour understanding the problem statement, though after understanding it I felt it was quite direct :)

»
4 года назад, скрыть # |
 
Проголосовать: нравится +25 Проголосовать: не нравится

thanks for boring, standart, absolutely non-interesting, hard-to-write problem E...

»
4 года назад, скрыть # |
 
Проголосовать: нравится +177 Проголосовать: не нравится

Will it kill you to just write for problem F:

Let $$$popcount(x)$$$ be the number of bits equal to $$$1$$$ in the binary notation of $$$x$$$.

An segment $$$l \leq r$$$ is good if $$$popcount(\min(A[l..r]))=popcount(\max(A[l..r]))$$$

instead of whatever your statement is.

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    So true, I had to write a brute force to understand what the problem was asking.

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Exactly, I spent 10-15 mins wondering wtf "The minimum and maximum numbers are found on the segment of the array starting at l and ending at r" means before finally realized they meant:

    "Find the minimum and maximum numbers of the segment of the array starting at l and ending at r"

    and not

    "Proceed if you can find some occurrences of the minimum and maximum numbers of the $$$\textbf{entire array}$$$ in the segment of the array starting at l and ending at r".

»
4 года назад, скрыть # |
 
Проголосовать: нравится +6 Проголосовать: не нравится

I really want a screencast of a contest from tourist

»
4 года назад, скрыть # |
 
Проголосовать: нравится +109 Проголосовать: не нравится

Conspiracy theory: F was made solely to make people waste a ton of time implementing it and then performing constant factor optimizations on it so that people wouldn't have enough time to realize how easy G is. Luckily I decided to go straight to G after getting TLE on F(a bit more than 3 seconds runtime in custom invocation) so I wasn't affected by that as much as I could've been.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +31 Проголосовать: не нравится

Was D written in Bitcoin language?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

You could make problem C better if sequence of 1 's would be good sequence

the approach is same but that makes implementation easier

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Great round. Especially loved the response of this round team, got a quick reply on every query I asked.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +39 Проголосовать: не нравится

"William satisfied all conditions from 1 and up to and including i and performed exactly i introductions."

What and the and fuck! xD

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Any idea why this is wrong?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +1 Проголосовать: не нравится

what was the pretest 9 in problem D about?

»
4 года назад, скрыть # |
 
Проголосовать: нравится +40 Проголосовать: не нравится

Then I opened the worst laptop in the universe I swear it took me 30 min just to turn it on and open Codeblocks then after submitting B it also crashed XD XD XD so i opened the first laptop luckily it worked I think this is a message from god that i should buy a new laptop instead of these 2 shitty laptops

»
4 года назад, скрыть # |
Rev. 2  
Проголосовать: нравится +17 Проголосовать: не нравится

Gonna have nightmares about A for a long time (completely my fault, made a mess of it), whereas D was too trivial for its place (C seemed harder to code).

Round duration should’ve been higher in my opinion, considering how tiring it is to code E & F, unless there are better implementations than the ones I could come up with. I did like all the problems (besides C maybe), just having more time would've been nice.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +8 Проголосовать: не нравится

Объясните, пожалуйста, разницу между "maximum" и "maximal"! :)

»
4 года назад, скрыть # |
 
Проголосовать: нравится +114 Проголосовать: не нравится

Here is some feedback on the problems:

A: Very nice easy problem, I like it.

B: Very nice easy problem, I like it.

C: Awful problem. Prime numbers do not play any role, the parameter $$$e$$$ does not play any role. This is fundamentally "In an array of 0, 1, 2; count subarrays without $$$0$$$ and with exactly one $$$2$$$". The statement is involved and the solution is standard.

D: Nice problem. Sadly, I did not check the constraints and I thought one had to come up with a pseudo-linear solution which made me waste some time.

E: Cute problem, I like it. It is one of the rare applications of segment-trees which is non-obvious from the request. I knew 750E but did not remember it and just solved the problem again.

F: Solving this in $$$O(n\log(n)\log(a))$$$ with divide and conquer is easy, I have no idea of how to remove one $$$\log$$$ factor. In any case, the statement is rather dull (and, if I have to guess, the solution does not use at all that the considered quantity is the number of bits).

G: Nice problem, I found the solution during the contest but was not in time to implement it. I believe the problem could have been better if there were no queries and $$$n$$$ was up to $$$10^5$$$. In this way the implementation simplifies immensely but the main ideas are still necessary to solve the problem.

Thank you to the authors.

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +19 Проголосовать: не нравится

    F was tight if you solve in O(n*logn) (or I have to rethink my segment tree code)

    • »
      »
      »
      4 года назад, скрыть # ^ |
       
      Проголосовать: нравится +3 Проголосовать: не нравится

      You don't need a segment tree if you use vectors (stacks) with partials sums and binary search.

      • »
        »
        »
        »
        4 года назад, скрыть # ^ |
         
        Проголосовать: нравится 0 Проголосовать: не нравится

        I have no idea how that solution works.

        • »
          »
          »
          »
          »
          4 года назад, скрыть # ^ |
           
          Проголосовать: нравится +10 Проголосовать: не нравится

          We iterate over the right boundary r of the segment. We can maintain the intervals for l where bitcount t remains the same (for both min and max). The answer will be the intersection size of those intervals. If we maintain prefix sums (as intervals will be sorted) we can update the size of intersection in logn using binary search.

          • »
            »
            »
            »
            »
            »
            4 года назад, скрыть # ^ |
             
            Проголосовать: нравится +10 Проголосовать: не нравится

            Exactly. In the contest, I calculated those intersections using a segment tree and in the last 10 minutes got this approach and completed the code now to get AC T-T. I still don't get the logic to cut segment tree solutions.

    • »
      »
      »
      4 года назад, скрыть # ^ |
       
      Проголосовать: нравится +3 Проголосовать: не нравится

      You have a $$$\mathcal{O}(n \log n)$$$ solution? How does it work?

      • »
        »
        »
        »
        4 года назад, скрыть # ^ |
         
        Проголосовать: нравится +3 Проголосовать: не нравится

        Basically we create events of (l, r, i, v, b) meaning that min/max info (the events are mixed) of some info with popcount=b at range [l, r) is created (v=1) or removed (v=-1) at point i of the stack algorithm for min/max. This description might not be good but it's easy to create these events if you know how to use a stack. I think my code is reasonably easy to read. There are at most 4*N such events.

        Then, for each bit pass through events ordered by i. Subarrays with sum 2 should be counted (because there's +1 from min and max). That didn't pass because of TL so I did a segment tree that adds v at l and subtracts v at r (basically prefix sum update) so it wouldn't need lazy update.

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +44 Проголосовать: не нравится

    Well, the main idea for G is well-known, so I think the author couldn't do that...

    I think F is easy to bash with brainless segment trees, but the choice of data structures and some implementation styles seems to determine AC and TL here.

    The thing that I disliked the most in the contest was the awful statement of D. It seems to be better now, but the original statement was just horrible. I think most people spent more time parsing the statement rather than solving it.

    • »
      »
      »
      4 года назад, скрыть # ^ |
      Rev. 2  
      Проголосовать: нравится -40 Проголосовать: не нравится

      What "original statement" are you talking about? The condition of this problem did not change after the start of the competition.

      Problem G was independently invented. We are too old to participate in usaco. I'm sorry this happened.

      • »
        »
        »
        »
        4 года назад, скрыть # ^ |
         
        Проголосовать: нравится +23 Проголосовать: не нравится

        For problem D, these words are used interchangeably without any clarification from the statement:

        • introduce
        • know each other
        • acquaintances

        Btw I remember seeing that the statement was updated for D. Sorry if I remembered something wrong.

        For G, I think the setter not knowing G is understandable, but the coordinator should reject the problem. A-G was just speedforces hell.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +11 Проголосовать: не нравится

subtle storytelling on B and E ;)

»
4 года назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

Congratulations tourist for achieving a new max rating

»
4 года назад, скрыть # |
 
Проголосовать: нравится +29 Проголосовать: не нравится

Congratulations tourist for achieving a new max rating!

»
4 года назад, скрыть # |
 
Проголосовать: нравится +30 Проголосовать: не нравится

So apparently I was a massive clown and did some massive clownery problem E.

my solution
»
4 года назад, скрыть # |
 
Проголосовать: нравится +25 Проголосовать: не нравится

Why does it always take so long to post an editorial?

They should be written before the contest and automatically published after the end of contest

»
4 года назад, скрыть # |
 
Проголосовать: нравится +2 Проголосовать: не нравится

could someone please simplify the problem statement of D.

I really did not understand, what they were trying to convey.

sample test case 2 in itself confused me.

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    Simplified meaning : If you are currently at point $$$i$$$ you can add $$$i$$$ (1-based indexing) edges in your graph but all the connections up to $$$i$$$ (inclusive) must be present in your graph. Then you need to count the person having maximum friends.
    So simply all the connections up to $$$i$$$ must hold i.e $$$x_i$$$ and $$$y_i$$$ must be in same component for all $$$i$$$ ∈ $$$[1,i]$$$ if this exist and you still have some edges left try to connect the big components so that overall you get a big component with $$$i$$$ edges and the answer is the (number of vertices in this big component — 1).
    I understood this by 2nd sample test, otherwise it was very hard to understand from the problem statement

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Can someone please explain D in English?

Assuming that William satisfied all conditions from 1 and up to and including i and performed exactly i introductions.

ok so far we performed i introductions

The answer for each i must be calculated independently, It means that when you compute an answer for i, you should assume that no two people have been introduced to each other yet.

ok so far we shouldn't perform i introductions ? :D

»
4 года назад, скрыть # |
 
Проголосовать: нравится +3 Проголосовать: не нравится

I find the pictures of the problems equally satisfying as the problems :D

»
4 года назад, скрыть # |
Rev. 4  
Проголосовать: нравится -27 Проголосовать: не нравится

.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +12 Проголосовать: не нравится

For 1609D - Social Network I didn't realize n <= 1000, so I implemented it in O(nlogn): 137250023 .

Idea was to keep sum of x+1 maximum size components, where x = number of edges that are useless, we can do that using case work and multiset.

idk if its just me, but sometimes I think (10^3)^2 = 10^9...

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +8 Проголосовать: не нравится

    It's funny because I sometimes make the mistake of $$$(10^9)^{0.5} = (10^3)$$$ . The inverse of your mistake if you will .

  • »
    »
    4 года назад, скрыть # ^ |
    Rev. 4  
    Проголосовать: нравится +3 Проголосовать: не нравится
    Doubt Cleared
    • »
      »
      »
      4 года назад, скрыть # ^ |
       
      Проголосовать: нравится 0 Проголосовать: не нравится

      Yeah, actually, that value is always x, because we checked if did==can, this means we can add more values to sum because its still not full (did < can), but we don't have them, so when we add x to multiset we can always add it to the sum and move iterator, when you move iterator with -- it will actually point to x in multiset so in this case *(--it) == x, then its okay to do it either way

      Also note that, in multiset, 3 3 3 3 (3), new occurrence of same value will always point to the end, and find(x) will always point to first occurrence of x (3) 3 3 3 3

»
4 года назад, скрыть # |
 
Проголосовать: нравится +29 Проголосовать: не нравится

Ratings updated preliminarily. We will remove cheaters and update the ratings again soon!

»
4 года назад, скрыть # |
 
Проголосовать: нравится -33 Проголосовать: не нравится

hello. I sent this code during the tunnel: https://mirror.codeforces.com/contest/1609/submission/137240845. this code did not pass system testing and the time limit was exceeded on the 9th test. I sent exactly the same code after system testing and it passed all tests: https://mirror.codeforces.com/contest/1609/submission/137271529. this algorithm is absolutely correct and I ask you to reconsider my place in the rating and recalculate the rating score.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +4 Проголосовать: не нравится

this is the fastest system testing I have ever seen :) and it's become better when you get +32 in the end :)

»
4 года назад, скрыть # |
Rev. 4  
Проголосовать: нравится 0 Проголосовать: не нравится

In problem C for these testcase what should be the pairs? I am getting 12 pairs

1

10 2

1 1 1 422549 1 1 880667 81267 1 1

pairs in (i,j) --> j = i+e*k

(1,7),(1,9),(3,7),(3,9),(5,7),(5,9),(7,9)

(2,4), (2,6), (2,10),(4,6),(4,10)

Given answer is 10

»
4 года назад, скрыть # |
 
Проголосовать: нравится +60 Проголосовать: не нравится

One feedback -
I have participated in 2/3 Deltix rounds so far. In each of them, Both times I have read problems wrong. It seems I'm not the only one here. All CodeChef contests have a paid statement verifier whose sole job is to make sure statements are better and easily understandable. Looking at the panel it seems most of them have Russian as their first language.

Since it's a sponsored round I would advise including someone for the 4th scheduled round who has experience verifying statements for CodeChef. The round would be relatively better for non-Russian speakers. Xellos and Monogon both are pretty good at it.

  • »
    »
    4 года назад, скрыть # ^ |
    Rev. 2  
    Проголосовать: нравится +31 Проголосовать: не нравится

    You are right that English is not our first language. But are you sure the problem is in our English? I think we can all learn something from problems B and E.

    1. People involved in translation have a really good level of English, almost at the native level.
    2. But okay, let's say that's still not enough. Further, all statements are checked by auto analyzers and the round coordinator.
    3. ok, still bad. But there are testers who can point out our mistakes. For example, we had testers with a native level of English.

    Do you think these steps are not sufficient? I'm not sure which task you are specifically talking about now, but I will assume that about task F. I think I can agree that I should have added a clarification to the test case to rule out possible other understandings of the statement, but I was sure that participants who got down to this problem would not need it.

    • »
      »
      »
      4 года назад, скрыть # ^ |
       
      Проголосовать: нравится +20 Проголосовать: не нравится

      Haven't you noticed that tons of participants are misreading/ couldn't understand/ had a hard time trying to guess what that problem statement of D and F means?

      • »
        »
        »
        »
        4 года назад, скрыть # ^ |
         
        Проголосовать: нравится +6 Проголосовать: не нравится

        yes, it is foolish to deny it, there are objective signs. I think about how we can improve the situation in the future. I thought we could fix this with the number of testers, but it doesn't seem like it helps.

        We will look for a solution, it is a pity that you do not take part in the next round. May I invite you to test the next round?

    • »
      »
      »
      4 года назад, скрыть # ^ |
       
      Проголосовать: нравится -12 Проголосовать: не нравится

      I've also participated in another round hold by DELIX and got a similar issue of the English problem statement.

      I could fairly expect that all future rounds hold by DELIX would have the same quality of English problem statement, so I won't participate in any of them.

    • »
      »
      »
      4 года назад, скрыть # ^ |
       
      Проголосовать: нравится +4 Проголосовать: не нравится

      I think D would have caused less confusion if instead of people and friendships you had cities and roads. The idea that two cities are reachable by a sequence of roads feels more natural than the idea that people have a connection if there's a sequence of friendships that starts from one person and ends at the other.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +39 Проголосовать: не нравится

I think I broke G. I submitted $$$O(mq)$$$ to make sure my idea is correct and it ACed 137283005

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +10 Проголосовать: не нравится

    it looks like it's a matter of pragmas. I suspect it can be hacked, but I haven't succeeded yet. By the way, in this task, the time limit was specially increased for your comfort, I cannot imagine how in a world where there is a pragma to balance between blocking such solutions and the comfort of participants who send good solutions, but with bad implementation.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +51 Проголосовать: не нравится

The list of participants who received random T-shirts will appear later in the comments after completing the search for cheaters. All people who receive the T-shirt will be tagged and notified.

Thank you again for participating, everyone! Hopefully, enough of the participants were able to enjoy these tasks. Perhaps I will answer a couple more accusations in the comments when I get enough sleep after two nervous days of checking all the materials of the competition.

Thank you, you are the best!

»
4 года назад, скрыть # |
 
Проголосовать: нравится +13 Проголосовать: не нравится

On the standings, noimi placed 84th, but on their profile it says they placed 142nd (and it looks like their rating was adjusted based on 142nd). Any idea what caused this?

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

In problem C, if there are l ones to the left and r ones to the right, and we want to count possibilities such that a prime p is somewhere in the middle, how is it coming out to be l*r? Can someone please give me the proof?

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

It's a interesting round and there are two similar problems but different solutions and aspects.

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

Please tell me if this should have passed or not??

According to me this solution is O(n^2). Please check someone

137337732

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится 0 Проголосовать: не нравится

    No, this solution is O(n). For each number, you only check at most 2 times: one in the forward loop and one in the backward loop. The reason is each number 1 belongs to only one segment with two ends (either a prime -> need to check or composite -> no need to check)

»
4 года назад, скрыть # |
 
Проголосовать: нравится 0 Проголосовать: не нравится

конгрутилэйшенс

»
4 года назад, скрыть # |
Rev. 4  
Проголосовать: нравится +85 Проголосовать: не нравится

For H, I just realized that my submission during the contest set maxn/maxq to 55/55 instead of 105/1005, and could pass after replacing them with the correct values. R.I.P.

»
4 года назад, скрыть # |
 
Проголосовать: нравится +10 Проголосовать: не нравится

It seems like tourist always comes first ;)

»
4 года назад, скрыть # |
 
Проголосовать: нравится +132 Проголосовать: не нравится

Congratulations to tshirts winners! In a few weeks 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.

get_tshirts.py
randgen.cpp
List place Contest Rank Name
1 1609 1 tourist
2 1609 2 DmitryGrigorev
3 1609 3 xtqqwq
4 1609 4 Maksim1744
5 1609 5 VivaciousAubergine
6 1609 6 maroonrk
7 1609 7 jiangly
8 1609 8 heuristica
9 1609 9 QAQAutoMaton
10 1609 10 Crysfly
11 1609 11 zh0ukangyang
12 1609 12 heno239
13 1609 13 he_____hezhou
14 1609 14 ko_osaga
15 1609 15 Karry5307_AK_NOI2026
16 1609 16 ainta
17 1609 17 AliShahali1382
18 1609 18 kiyotaka
19 1609 18 Endagorion
20 1609 20 Cirno_9baka
21 1609 21 fivedemands
22 1609 22 Farhod
23 1609 23 dfcmd
24 1609 24 basic_string
25 1609 25 yzc2005
26 1609 26 Isonan
27 1609 27 Radewoosh
28 1609 28 bthero
29 1609 29 BigBag
30 1609 30 receed
31 1609 31 LMOliver
32 1609 32 fanache99
33 1609 33 ecnerwala
34 1609 34 ugly2333
35 1609 35 ezLadder
36 1609 36 He_Ren
37 1609 37 PetelgeuseRomaneeconti
38 1609 38 hitonanode
39 1609 39 Torta
40 1609 40 natsugiri
41 1609 41 LorentzianExpanders
42 1609 42 dorijanlendvaj
43 1609 43 SpyCheese
44 1609 44 waynetu
45 1609 45 gyh20
46 1609 46 Amoo_Safar
47 1609 47 ei133333
48 1609 48 satashun
49 1609 49 sansen
50 1609 50 aid
51 1609 51 MoRanAirConditioner
52 1609 52 RomaWhite
53 1609 53 froggyzhang
54 1609 54 AmShZ
55 1609 55 tabr
56 1609 56 arbuzick
57 1609 57 tfg
58 1609 58 alexxela12345
59 1609 59 353cerega
60 1609 60 lqx2005
61 1609 61 kostia244
62 1609 62 Siberian
63 1609 63 juicy_you
64 1609 64 Tutis
65 1609 65 dyrbulshchyl
66 1609 66 hank55663
67 1609 67 Ra16bit
68 1609 68 AnandOza
69 1609 69 tatyam
70 1609 70 AlenAbeshov
71 1609 71 Bench0310
72 1609 72 natofp
73 1609 73 Nyaan
74 1609 74 risujiroh
75 1609 75 A-SOUL_Bella
76 1609 76 balbit
77 1609 77 qwerty787788
78 1609 78 Barichek
79 1609 79 YaoBIG
80 1609 80 Tima
81 1609 81 happyguy656
82 1609 82 maspy
83 1609 83 noimi
84 1609 84 Ex_Machina_
85 1609 85 Chinese_zjc_
86 1609 86 JJLeo_
87 1609 87 Arihara_Nanami
88 1609 88 mutant
89 1609 89 Amtek
90 1609 90 feecle6418
91 1609 91 flukehn
92 1609 92 golikovnik
93 1609 93 SSHS
94 1609 94 SSRS_
95 1609 95 Rafbill
96 1609 96 tmwilliamlin168
97 1609 97 dXqwq
98 1609 98 SamBankman-Fried
99 1609 99 Alice_foo_foo
100 1609 100 chinerist
135 1609 135 Nero
139 1609 137 icecuber
153 1609 152 Little_Bunny
154 1609 154 riantkb
155 1609 155 cerberus97
170 1609 170 Dart-Xeyter
191 1609 191 Onjo
199 1609 199 Gnoud__
202 1609 202 Liang_Hui
224 1609 223 vinfat
228 1609 227 haruki_K
236 1609 236 axs7384
262 1609 262 kshitij_sodani
265 1609 265 desprado2
269 1609 269 fengzhengwei
283 1609 283 noogler
290 1609 290 hieplpvip
293 1609 293 stevenkplus
300 1609 299 dblark
305 1609 305 bashkort
314 1609 314 Mamedov
318 1609 318 Jimanbanashi
324 1609 324 destructive_criticism
332 1609 332 minhcool
333 1609 333 FutureNewbie
334 1609 334 TheDuchess
342 1609 342 caidd
356 1609 356 yxqk
361 1609 361 geospiza
365 1609 365 sare
383 1609 383 wangzhifang
397 1609 397 qiutongxue
409 1609 409 118907
413 1609 413 PCTprobability
424 1609 424 antontrygubO_o
432 1609 432 mango.
476 1609 475 CodigoL
479 1609 478 Valera_Grinenko
482 1609 482 c8kbf
495 1609 495 paula
499 1609 500 ouqingliang
500 1609 501 tem_shett
512 1609 514 _dg_
523 1609 524 kmjp
528 1609 530 Puranya
535 1609 537 TITANOBOXER
538 1609 540 RyoPham
545 1609 547 shino16
562 1609 564 hiva_
572 1609 574 sorry12000
573 1609 575 MysteryGuy2
576 1609 576 CLT
577 1609 579 Shun_PI
578 1609 579 shubham__36
586 1609 587 Nyaruko
588 1609 590 andrei_boaca
608 1609 609 Kitsune
616 1609 618 Kregor
621 1609 623 WindFromTmw
623 1609 624 cscse
624 1609 624 qscfthmko147
625 1609 627 Brambles
649 1609 651 KyuusyouTheSavior
681 1609 683 Bellalabella
683 1609 683 kkite_gk
685 1609 687 sotanishy
695 1609 697 Gorgo
705 1609 707 andrewtam
711 1609 713 Kaizyn
712 1609 713 Wibo
714 1609 716 TheScrasse
717 1609 718 jeroenodb
729 1609 730 mkawa2
752 1609 754 sinus_070
768 1609 770 ArsenGotov
772 1609 773 Hypik
775 1609 776 fitisovartyom123
777 1609 778 Ziware
778 1609 778 saprykin
802 1609 803 the_hyp0cr1t3
808 1609 809 NewLul
811 1609 813 NToneE
823 1609 825 DDima
837 1609 839 what_if_i_fail
838 1609 839 Yomapeed
850 1609 853 MCuong
862 1609 865 5phInX
876 1609 879 __ZMF__
900 1609 902 MVP_Harry
909 1609 912 Yoav
912 1609 915 kencho
920 1609 922 PaintItRed
939 1609 943 huan_yp
969 1609 972 Trung.Or
974 1609 978 satyam343
975 1609 978 hey_boris
976 1609 978 NHiL
991 1609 993 alenp2
993 1609 997 ttttan
995 1609 997 mjnbcfbot
»
4 года назад, скрыть # |
 
Проголосовать: нравится +14 Проголосовать: не нравится

Where is winter one, or postponed?

  • »
    »
    4 года назад, скрыть # ^ |
     
    Проголосовать: нравится +10 Проголосовать: не нравится

    Hello, the round was supposed to take place at the end of March, but the war forced us to change our plans. I did not consider it is appropriate time to hold the round and it was decided to postpone it. We have not decided on a new date, but I hope we will treat you to a good competition before the end of the year.

    Thank you for not forgetting about us and waiting for the next round, it's pleasant.