Автор awoo, 7 лет назад, По-русски

Привет, Codeforces!

В 05.09.2019 17:35 (Московское время) состоится Educational Codeforces Round 72 (рейтинговый для Див. 2).

Продолжается серия образовательных раундов в рамках инициативы Harbour.Space University! Подробности о сотрудничестве Harbour.Space University и Codeforces можно прочитать в посте.

Этот раунд будет рейтинговым для участников с рейтингом менее 2100. Соревнование будет проводиться по немного расширенным правилам ICPC. Штраф за каждую неверную посылку до посылки, являющейся полным решением, равен 10 минутам. После окончания раунда будет период времени длительностью в 12 часов, в течение которого вы можете попробовать взломать абсолютно любое решение (в том числе свое). Причем исходный код будет предоставлен не только для чтения, но и для копирования.

Вам будет предложено 6 задач на 2 часа. Мы надеемся, что вам они покажутся интересными.

Задачи вместе со мной придумывали и готовили Роман Roms Глазов, Адилбек adedalic Далабаев, Владимир vovuh Петров, Иван BledDest Андросов и Максим Neon Мещеряков. Также большое спасибо Михаилу MikeMirzayanov Мирзаянову за системы Polygon и Codeforces.

Удачи в раунде! Успешных решений!

Так же от наших друзей и партнёров из Harbour.Space есть сообщение для вас:

Привет, Codeforces,

Университет Harbour.Space совместно с UTCC (Бангкок, Таиланд) предлагает уникальные стипендии для обучения по магистерским программам.

Наша цель устранить какие-либо финансовые барьеры для талантливых студентов: стипендии покрывают 100% оплаты за обучение, а также расходы на проживание, и, кроме того, они предоставляют студенту ценный опыт как обучения, так и работы в Harbour.Space University.

Мы ищем людей, которые собираются изменить мир. Если вы или кто-то из ваших знакомых интересуется технологиями, предпринимательством или дизайном, то мы будем рады получить вашу заявку!

Подать заявку→

Поздравляем победителей:

Место Участник Задач решено Штраф
1 Tropical_maid 6 212
2 Return.Hao 6 246
3 xyz100 6 272
4 YangDavid 6 280
5 Lawali 6 300

Поздравляем лучших взломщиков:

Место Участник Число взломов
1 VegetableP 116:-14
2 Princ_iple 49:-1
3 racsosabe 42:-1
4 shurongwang 36
5 Megatron_99 29:-1
Было сделано 1432 успешных и 1595 неудачных взломов.

И, наконец, поздравляем людей, отправивших первое полное решение по задаче:

Задача Участник Штраф
A xyz100 0:02
B mutant 0:06
C Laiu 0:06
D IgorI 0:08
E mzen 0:30
F Hasan0540 0:51

UPD: Разбор опубликован

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

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

Thanks for round! :)

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

:(( a funny picture. but -64 downvoted. :(( sorry i deleted it

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

funny picture always got upvote

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

Would anyone be interested in a round written solely by tourist?

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

Two rounds in two days, the later one must be a good round...

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

Seems like Codeforces wants me to give this contest as a rated one

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

Hope this round will be like last educational

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

[deleted]

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

I want to know if I will lost some rating if i dont have time to join this round.....

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

Ееее, Пикмайк крутой

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

What will be the difficulty of the problems? I have just started with cp.

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

Hopefully I can gain more rating!

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

Wanna become blue today...

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

when can we upsolve the problems?

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

For E my time complexity was O(q*digits*log(n)) which got TL-5. How to do it better?

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

How to solve problem F ?

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

    $$$last$$$ can only be $$$0$$$ or $$$1$$$, so we can make $$$2m$$$ operations and do them offline.

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

      Is there a solution which can handle these types of queries with divide-and-conquer dynamic connectivity method?

      I know it's a strange thing to ask since I am one of the authors of the contest, but nevertheless.

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

        Assume there are $$$n$$$ vertices, $$$m$$$ edges in graph $$$G$$$, and we need to process $$$q$$$ operations.

        1. Let's denote all the endpoints in these $$$q$$$ operations as important vertices.

        2. Keep all the edges not mentioned in these $$$q$$$ operations in $$$G$$$, and run a linear DFS to find all the connected components.

        3. Remove all the components that contain no important vertices, since they are useless for these queries at all.

        4. Compress each component to a single vertex, and remark all the operations. Let's denote the compressed graph as $$$G'$$$.

        5. Process the first q/2 operations using $$$G'$$$ recursively.

        6. Now we know all the answer of the first q/2 queries, so we can know what the real modifications are. Do these modifications to get a new graph G''.

        7. Process the last q/2 operations using G'' recursively.

        Time complexity is T(q)=2T(q/2)+O(q)=O(q log q).

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

      But how? I don't really understand.

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

        I think I actually got it, how to use the segment tree trick with DCP in this problem.

        For each edge, there are multiple segments where it may or may not be present (its status may change when we make a query of first type with $$$x, y$$$ or $$$x - 1, y - 1$$$). Let's add these segments in the segment tree just the way we did it in original dynamic connectivity problem, we will have no more than $$$q \log q$$$ additions into the segment tree.

        Then, while we are running DFS in the segment tree, we firstly go into the left subtree, solve the problem recursively. And after we processed all queries from the left subtree, we now know everything about all edges we could add in our right son — this is the key point that allows us to use this approach.

        Originally, when HellKitsune taught me the divide-and-conquer technique to the dynamic connectivity problem, I was a bit disapponted that the sqrt-decomposition trick is kinda useless in this problem — it is harder to code, it runs slower. So I wanted to create a problem that would show that sqrt-decomposition could still be better than divide-and-conquer in some cases of DCP. It turns out I failed.

        But the sqrt-decomposition solution for this problem is much easier. Divide the queries into $$$K$$$ blocks. For each block, we know some edges that are always present no matter what, and each query asks us to use no more than $$$\frac{2q}{K}$$$ edges that may not present in the whole block.

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

      can you please explain a little bit more?

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

      I don't understand. Since $$$last$$$ could be 0 or 1 on each query, doesn't that mean that in total there are $$$2^m$$$ possible chains of operations?

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

        Yes, we can have $$$2^{m}$$$ possible chains if we are trying to do it purely offline. But offline dynamic connectivity approaches can be modified in such way that we do not need to know all the queries beforehand. Instead of marking places when edge inclusion changes, we can mark places where edge inclusion might change and when we will have all the information make these decisions in process whether to include edge or not do include edge for future stable segment until this edge might change again.

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

    u can also solve with using dynamic connectivity

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

getting WA on test 2 in B, whats is the logic or tell me something wrong in my solution please.

link of my solution

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

    if all d < h and has no d >= x — result -1

    next chose a=max(di-hi) and b=maxd, last step max(a,b), all steps before last (b)

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

    the shortest form of this problem: give you number Heads, list of blows and answer the fastest way to kill it (Heads<=0). There are 2 cases here: Result=1 and Result>1. When Result=1, you just simply pick the blow with the biggest damage value. When Result>1 (2,3...), you will notice that the moment the dragon die is before the the last revival (Heads increase again) and number Heads become not positive so the last revival will not happen, If you have Result number time of blows, obviously, first Result-1 time you will change Heads by sum of (-damage+rivive), but for last you just change Heads number by minus damage value. So with case Result>1, you just simply pick the blow with the smallest (-damage+revive) for first Result-1 blows, and the last blow you just need to pick the blow with the biggest damage to end the fight. Hope you get it. I also struggled a lots to find out this logic, simple but hard to make it right in the center quickly.

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

How To Solve C..?

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

    How to solve C with out gettin TLE on test 12 ??????????

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

    First of all, if at a given index, s[i] == '1', then the index of the last good substring starting at i is at most (i + 20), otherwise the value of the binary number is larger than the max length of the string. So, for every index, we precompute the next occurrence of '1' and check the next 20 characters. Repeat.

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

    my solution:

    precalc zeroes-array: how many zeroes before ith element

    next start from first (1) and count zeroes before (from precalc), if (f-length<=number of zeroes) result++. next shift left index to next 1-characker, if length > 20 (i think it is enough) you can break from cycle.

    (for example 000101)

    first step: 000[1]01

    number of zeroes before before = 3, f=1 and 3 enough to add to result (1-1<=3)

    next step go to 000[10]1

    in this case your f=2, length=2, zeroes before=3 => result++

    next step got to 00010[1] — same as first step (except zeroes before = 1, but also enought 1-1<1)

    next step got to 000[101] — f=5, lenght=3, number of zeroes = 3 (5-3<=3) => result++

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

how to solve A? hahahahaha

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

How to solve D?

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

Anyone who used binary search for A?

I am a bit nervous about my approach..

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

Anyone has a solution for problem E with 10*(3 of segment queries) per query passed ?? Is it intended to pass or not ?

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

how to pass test 2 problem C

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

what is the hack for B ?

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

how to solve E?

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

I think I am not able to tell how fucking annoying it is to not get A right for an hour or more...and then miss C for like 5 minutes.

What was so hard with A, why did I need 10 submissions?

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

I hope there is a simple solution for F. My solution is too complicated.

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

"It is guaranteed that each ordered pair (u, v) appears in the list of edges at most once."

What is mean ordered pair in problem D ?

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

In $$$E$$$, what is the best way to know the smallest $$$2$$$ numbers between $$$L$$$ and $$$R$$$ such that they both have a non zero digit at a same position?

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

    I didn't have enough time to submit, but my idea is to build a segment tree for each digit. I planned to fill them in the following fashion: if $$$k$$$-th digit of $$$a_i$$$ is not $$$0$$$, then we put $$$a_i$$$ on place $$$i$$$ in the $$$k$$$-th segment tree, else some huge constant. To get the answer, you could take two minimums on each tree and choose the one with minimum sum.

    Should pass in time, pure $$$O(n \cdot logn)$$$, albeit with a considerable constant.

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

    for each position, build a segment tree, for each segment, maintain the smallest and second smallest number which both has non-zero digit in that position

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

    For some reason I was thinking during the contest about maintaining something like merge sort tree for every digit position instead of just a normal segment tree through which you can get 2 minimums, and simulate non-existing numbers by large constants. Thanks all.

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

hack successful test for problem B?

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

I did problem C in O(N*logN*logN). Any better solution?

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

Самый сложный A за последние раунды.

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

This is such an obvious hack case for problem B, I wonder why it wasn't in the pretests??

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

very bad pretests for B((

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

indeed a great round at hackforces...

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

Poor testcases :(

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

Problem B: What is the output for this input. 1 3 999999911 3 1 11 1000000000 10 9

Jury's answer is 499999951. How ?

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

Looks like CF managed to automate Problem Setting

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

The most wrong answer contest I have ever seen hahahahaha.

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

How to Solve D??

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

    If there is no cycles in our graph we can simply use $$$k=1$$$.

    For all other cases we can be done with $$$k=2$$$. Suppose we have edges in form $$$(from, to)$$$, we can paint all edges with $$$from \lt to$$$ into color $$$1$$$ and all edges with $$$from \gt to$$$ into color $$$2$$$. If we arrange all vertices of our graph into a sequence, edges that go left are of one color and edges that go right are of another color. Any cycle must start and end in the same vertex, so after making a first step left or right we need to move backwards, but we can only do it with edges of another color.

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

Man, I got like 11 WAs on Problem A, and still couldn't solve it. I used this equation :- str + x > int + y && x + y == exp , then finding all possible values of x and y. Can someone provide a clear implementation for this, i think i messed up in calculating the number of solutions.(or are these equations missing something?)

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

    If exp + strength <= Intelligence , then there's no solution, answer is 0.

    If exp + Intelligence < strength , then all combinations will work, the answer is exp + 1.

    If exp + Intelligence = strength , all combinations except (strength, intelligence + exp) wil work , answer is exp.

    now for the last case, the minimum exp that can be added to strength without disturbing the inequality strength > intelligence is the solution to:

    Let x be the minimum exp required.

    (strength + x) — (intelligence + (exp — x)) = 1

    x = ceil((1 — strength + intelligence + exp) / 2)

    the answer is exp — x + 1

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

https://codeforces.me/contest/1217/submission/60110076

Please Hack this, this is surely not O(N)/O(NlogN) .

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

Honestly, Educational rounds are not as interesting as they once were.

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

Problem A was harder than Problem B :(

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

Очень слабые претесты на задачу В. Неужели нельзя было посильнее сделать?

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

Please give me a test case on which my solution fails:)

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

When I first saw this 1000 liner code, I thought, is this the end of the universe?

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

    Isn't this code very similar to this code: 60123155? Even the strangest of variable names like ee, uuu, vvv, te, etc., in the main code or just before it are the same.

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

      MikeMirzayanov, awoo can u please check. I believe intentional efforts have been made to avoid plagiarism, like performing n = N, when there was almost no use of doing it, and also statements like if(op == 2) op = 2

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

        The order of some of the statements or expressions has also been intentionally swapped.

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

          No, it's not. If you look more carefully at my previous submission 60108293, you will see that I have marked “template from https://loj.ac/submission/25943” as comment on the first line. Actually this problem is almost exactly the same as this one on LOJ, except some I/O format and the way of forcing online. So I copied a public submission on LOJ and changed it a little bit to pass this one. According to the rules about third-party code, it's ok to do so, and I believe Return.Hao just copied from the same template.

          Reporting cheating is good, but I'd like to say you had better check more things out before you make your report.

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

            I am extremely sorry for this. I checked the last submission only as they were the ones that would've contributed to the final results and found no attribution on them, and as I said in my previous comment, a few of the statements only differed in a very suspicious way like the case of doing n = N as I mentioned above. That's what made my doubts more concrete. That's why I thought it was a cheating case. Sorry once again.

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

Can someone explain me how to solve C please?I dont understand the idea of this problem.

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

    First let's preprocess the array z, such that:

    z[i] = number of zeroes to the left of i before the first 1.

    For instance:

    v: 0 0 0 1 1 0 1

    z: 0 1 2 3 0 0 1

    What the problem wants is the number of substrings s[l..r] such that the binary number in s[l..r] is equal to its range size r - l + 1.

    Now let's say you're currently at index i and s[i] == '1'. You've already got your first answer, right? because s[i] == 1 and the range size is 1. Let's call our current value X and keep constructing new numbers using substrings that start in this index i and end at some index j (s[i..j]).

    Notice that j < min(n, i+20). Because the maximum range size possible is 2*10^5 and you need less than 20 bits to construct that value.

    Now let's add the next bit (at j'th position) and calculate our new value X, if the next bit is 1, X = 2*X + 1 and if the next bit is 0, then X = 2*X.

    So for this substring to be good, we need it to have size X. Since we started at i and we're now at j, its size is currently j-i+1. But remember we have z[i] zeroes to the left! That means that if we could add those zeroes to its left (which doesn't change the value X) and make a substring of size z[i] + j - i + 1 such that z[i] + j - i + 1 >= X, then we found a new answer.

    Hope that was well explained! :D

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

How would you solve D if the edges were undirected?

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

Лол, 1200 взломов по B.

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

can we hack our own solution, if its already been hacked by somebody, rip rating, didnt realise the stupid test case, 1 4 5 6 6 6 6 6 6 6 6 this was obvious test case, why was it not included in test case list, most of people got hacked on this.

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

What is intended complexity for E? I did mlogn*10 and it is getting TLE. My implementation of seg tree is pretty not efficient, but why would you give so strict time limit? What is wrong in setting this for 4s?

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

    I've never considered my implementation to be efficient at all. I mean my usual recursive segtree works in 400 ms, so 2 seconds doesn't seem strict. I also think there might have been worse complexity solutions passing if TL was higher.

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

Delted

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

I think there's a small error in putting "Final Standings" after the hacking phase, but before system tests.

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

B pre-test should be made stronger

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

My solution for problem E 60134423 passed pretest 8 in 1954ms. But it shows time limit exceeded at testcase 8 after system testing. Can anyone tell me why this happen?

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

Why my solution 60134423 passed pretest in 1954ms. But after system test it gets TLE on pretest8 ?

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

B have 365 cases at system test lol~

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

Interesting binary search solution of problem A: 60157777

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

I got AC on D with following greedy solution:

Take any edge, if it has unicolored path from one of its ends, to other, take another color.

Is it possible to hack it? I guess that it is possible, but there are no such tests in system testing.

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

Hello Codeforces,

After yesterday's contest(Educational Codeforces Round 72 (рейтинговый для Див. 2)) I have received 3 system messages. For the problems A, B and C. And these are all the problems I have solved during the contest.

Messages say that my solutions are extremely similar to this guy's coderharshit. Actually I have checked and they are identical.

For quite some time now I have been using this github repo to store my solutions.

I always push my code after the contest, actually I usually forget and do it much later.

Yesterday I just didn't think of people would dig google/github to find solutions during the contest and find my code. And I pushed the solutions during the contest. You can see the time of the commit in github.

So this person, apparently a determined soul to find other people's solutions found my solutions and blatantly submitted all of them. Don't know what to think of these people :) .

In the system messages, I was asked to write a comment here if I have evidence that I have published the code publicly and they accessed it, so writing this now.

fyi, MikeMirzayanov

Best, Burak

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

I want to say... What is the pretest of problem B made of?

It has $$$364$$$ tests. Is there an official problem with more number of testcases?

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

Still waiting for the Editorial :||||||

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

boy, this contest was really tough for me, I was completely discouraged by even first task. however, it's so exciting always (2 times for me heh)

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

Any ideas for WA on test case 5 for E?