By V--gLaSsH0ldEr593--V, history, 16 months ago, translation, In English,

Hi all!

This weekend, at 14:05 UTC on December 23rd we will hold Codeforces Round 454. It is based on problems of Technocup 2018 Elimination Round 4 that will be held at the same time.

Technocup is a major olympiad for Russian-speaking high-school students, so if you fall into this category, please register at Technocup 2018 website and take part in the Elimination Round.

I would like to thank veschii_nevstrui, adamant and DPR-pavlin who authored and prepared problems for Technocup and ifsmirnov, Kostroma, winger, AlexFetisov, gainullin.ildar for testing the round.

Div. 1 and Div.2 editions are open and rated for everyone. Register and enjoy the contests!

Congratulations to the winners!

Technocup:

  1. ---------

  2. Telamont

  3. iakovlev.zakhar

  4. IsmagilS

  5. DCNick3

Div. 1:

  1. moejy0viiiiiv

  2. Radewoosh

  3. Swistakk

  4. Um_nik

  5. eds467

Div. 2:

  1. kammola

  2. henryx

  3. LifeCracker

  4. EMOAIRX

  5. laofudasuanbaofushehui

UPD: Editorial

 
 
 
 
  • Vote: I like it  
  • +57
  • Vote: I do not like it  

»
16 months ago, # |
  Vote: I like it -29 Vote: I do not like it

its rated lol!!!!

»
16 months ago, # |
  Vote: I like it +332 Vote: I do not like it

Mike during the contest ... "The round is declared semi-rated because no one thanked me for the platforms".

  • »
    »
    16 months ago, # ^ |
    Rev. 3   Vote: I like it -8 Vote: I do not like it

    if codeforces had emojis like facebook's, i would give you "haha" instead of upvote

  • »
    »
    16 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    Where does that semi-rated meme came from?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    Sorry for off-topic but...
    why your nick is displayed in grey?

    Newbie Hasan with Contest rating: 1638?
    How is it possible?

    Is it just me? Or others are also seeing this?

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      You can change your color from 1 Jan to 10 Jan ... see it in your profile, a tab called magic.

»
16 months ago, # |
Rev. 2   Vote: I like it +72 Vote: I do not like it

Tomorrow we'll have 2 El Clasicos: -> Real Madrid — Barça * -> Codeforces — AtCoder *

»
16 months ago, # |
  Vote: I like it +114 Vote: I do not like it

I'm concerned about one thing... How many problems were made by adamant, you say?

»
16 months ago, # |
  Vote: I like it -27 Vote: I do not like it

It is rated.

»
16 months ago, # |
  Vote: I like it -95 Vote: I do not like it

Help Post, Why my solution was getting WA? Problem My Solution.

»
16 months ago, # |
Rev. 6   Vote: I like it +8 Vote: I do not like it

Why does the tourist not attend?

»
16 months ago, # |
  Vote: I like it +7 Vote: I do not like it

Hoping short problem statement

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +28 Vote: I do not like it

    Don't be racist bro.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it -33 Vote: I do not like it

    I know that most probably I will not be able to solve D and higher in Div2, though I will try to solve.So if these problem statements will be huge I will never mind :D

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    Maybe the translator translated the problem by its pronunciation, like translate names.

»
16 months ago, # |
  Vote: I like it +22 Vote: I do not like it

High ratings to everybody! What a sad story...)

»
16 months ago, # |
  Vote: I like it +56 Vote: I do not like it

the truth is, i'm not getting out neither from the gray zone nor the friend zone -_-

»
16 months ago, # |
  Vote: I like it +5 Vote: I do not like it

Any scoring distribution?

»
16 months ago, # |
  Vote: I like it +23 Vote: I do not like it

The English translation for problem A needs some work.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +6 Vote: I do not like it

    I can assure you its wording in Russian isn't better as you would suppose.

»
16 months ago, # |
  Vote: I like it +5 Vote: I do not like it

Why so long, man?

»
16 months ago, # |
  Vote: I like it +11 Vote: I do not like it

This round is impossible, I can't understand half of the english.

»
16 months ago, # |
Rev. 3   Vote: I like it +39 Vote: I do not like it

good job author !!!these nerds who are complaining about the tasks are just mad!!!

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Problems are interesting bro, but half of my time is used to understand the statements.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +8 Vote: I do not like it

    Your original comment complains about tasks, and then when you realize that is a popular opinion you change it lmfao.

»
16 months ago, # |
  Vote: I like it +7 Vote: I do not like it

reading the statements I feel like I must work on learning this type of English rather than coding ..really sucks!!

»
16 months ago, # |
  Vote: I like it +9 Vote: I do not like it

RIP for problem statement __________/_____________

»
16 months ago, # |
  Vote: I like it +16 Vote: I do not like it

In problem 1, the statement is not clear. May be add another example or make the explanation clear. Bad English translation.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I never met a contest like this. Such a large code work???

»
16 months ago, # |
  Vote: I like it +11 Vote: I do not like it

Comprehending the questions seems harder than solving them :/

»
16 months ago, # |
  Vote: I like it +7 Vote: I do not like it
»
16 months ago, # |
  Vote: I like it +58 Vote: I do not like it

After reading problem A's statement, I'm not sure what I've actually learnt in 10+ years studying English...

Can't understand a thing.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +7 Vote: I do not like it

    Please, clarify major mistakes in English in the problem A.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it +4 Vote: I do not like it

      I believe problem statement is enough clear for A. Though I haven't participated but read out the statement.

    • »
      »
      »
      16 months ago, # ^ |
      Rev. 2   Vote: I like it +54 Vote: I do not like it

      I was over-reacting a bit while commenting this. My apology (if it upsets you).

      In general, this problem statement is kind of... confusing.

      At first, as my expectation (like 95% of the Div2A problems I've come across), I go straight into the examples and criteria, and I was like "3 cars? wait then 4 variables... what is the last bear doing?"

      Then I looked up a little bit.

      Masha came to test these cars. She could climb into all cars, but she liked only the smallest car.

      "Alright, so the cars are there in a way that only the smallest one satisfy Masha, others either can't be climbed or Masha doesn't like them..."

      A family consisting of father bear, mother bear and son bear owns three cars. Father bear can climb into the largest car and he likes it. Also, mother bear can climb into the middle car and she likes it. Moreover, son bear can climb into the smallest car and he likes it. It's known that the largest car is strictly larger than the middle car, and the middle car is strictly larger than the smallest car.

      Three similar sentences, consecutively. I don't know what others may think, but its repetitive state made my head almost freeze.

      A few thoughts clouded my head, such as "wait can papa bear climb on mama bear's car?", "can mama bear climb on papa's?", etc.

      This is not what most of us expect in the easiest problem for Div2. I know my point may be biased, but it's mostly intended to be solvable for almost everyone in quick succession, so one should not make the statement open up a whole possibility for confusion and needs for clarification like this.

      Then I made it to the conditions for liking/being able to climb a car:

      It's known that a character with size a can climb into some car with size b if and only if a ≤ b, he or she likes it if and only if he can climb into this car and 2a ≥ b.

      Took me about 3-4 more minutes to understand (at first glance it seemed like the two inequalities contradicted each other).

      To be fair, it was not some critical errors in spelling, or grammar. The problem lies in the expressions — to me (or at least it is me during bad mood, but I won't think other people share this coincidence with me) it is somewhat unnatural and it may jam contestants' comprehending speed.

      Lastly, thanks for directly responding to my comment. I was a bit astonished when seeing the notification.

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +13 Vote: I do not like it

        I also found this problem statement complex, I think many contestant did

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it -6 Vote: I do not like it

        We would appreciate if you said that "problem A is not easier/straightforward".

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +3 Vote: I do not like it

        I've spent the same amount of time for reading Problem A statement and solving Problem C completely.

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +1 Vote: I do not like it

        I agree. I delayed more than 20 minutes to understand the statement and it is pretty simple. I don't know why exactly but It is made in a way it makes it hard to understand.

        Last week in usaco I didn't solve any problem but read and understand all of them in less than 10-20 minutes that was the time I delayed to read this problem in this case.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Maybe the problem is that it's too clear xD

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Third pretest is not correct by the game rules because players cant make such moves (in the middle square) without touching middle positions of all squares, but the output of this pretest shows that the right code doesn't give a f*ck to such errors, so WHAT THIS TASK WANTS?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Read the line about the hare. It doesn't matter if the current structure is possible or not, you just have to tell the next possible move

»
16 months ago, # |
  Vote: I like it +27 Vote: I do not like it

Is anyone else finding the problem statements a hell lot more confusing than normal CF rounds? :( :(

»
16 months ago, # |
  Vote: I like it +12 Vote: I do not like it

Please tutorial good some provide links to lean English :/

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

worst contest ever

»
16 months ago, # |
  Vote: I like it +7 Vote: I do not like it

This contest should at least be semi-rated. RIP English!

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

My first Div.1 contest!

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Couldn't even solve A :(

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +24 Vote: I do not like it

    masha as**** should not like fathers and mother car but like only child car.

»
16 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

This problem from a Korean judge seems quite similar to Div2F/Div1D, but the value of modulo in this problem is at most 106.

»
16 months ago, # |
  Vote: I like it +5 Vote: I do not like it

How to solve C?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    dp[mask] = minimum number of steps to get clique consisting of vertices in mask.

    Now iterate through each member of mask (provided mask is reachable state) and try to get him to the next step. It is profitable only if vertex has some neighbour outside of mask — it also means that he could have not been selected yet.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it +10 Vote: I do not like it

      I had the same idea, but how to prove it's always optimal to chose an adjacent vertex of the clique at each step?

      • »
        »
        »
        »
        16 months ago, # ^ |
        Rev. 4   Vote: I like it +5 Vote: I do not like it

        You choose any of the vertices already in mask and you compare dp[mask + neighbours] with dp[mask]+1.

        In every optimal solution for mask, one of it's vertices had to have been chosen as the last one. We take the optimal vertex and it's neighbours out and the state for the remaining subset is already optimal.

        Edit: You can't select a vertex wchich have set of neighbours (and itself) disjoint with the rest, as it could not construct a clique. dp[mask] is the minimum number of steps to make masks a clique. If you select some 2 disjoint sets there is no way of connecting them, so mask will not be a clique, hence you always have to choose a vertex which is part of the existing clique.

        • »
          »
          »
          »
          »
          16 months ago, # ^ |
          Rev. 2   Vote: I like it 0 Vote: I do not like it

          Your DP solution is amazingly crazy. I can't believe it works

  • »
    »
    16 months ago, # ^ |
    Rev. 5   Vote: I like it +15 Vote: I do not like it

    C can be solved in O(2n * n) with brute force. There is no need for DP. We can use the following observations to test whether a subset S of chosen vertices is valid:

    • The order of choosing vertices in S doesn't matter.
    • S is valid iff for every pair (u, v) there is a path from u to v that uses only vertices in S as intermediate vertices.
    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Didn't notice that the order doesn't matter. Thanks.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      How to verify that path requirement in O(n)?

      • »
        »
        »
        »
        16 months ago, # ^ |
        Rev. 2   Vote: I like it 0 Vote: I do not like it

        I used BFS. Start from any vertex in S and only push new edges to the queue if the current vertex is in S. Then check if every vertex was visited.

        • »
          »
          »
          »
          »
          16 months ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          What if every person is friend to every other person ( Like when m = n * (n - 1) / 2 ) Then the answer is 0 and S will be empty.

          And can you please elaborate your algorithm? How will it run on graph like this : N = 5, M = 4

          Edges :

          1 — 2

          2 — 3

          3 — 4

          4 — 5

          Thanks.

          • »
            »
            »
            »
            »
            »
            16 months ago, # ^ |
            Rev. 2   Vote: I like it 0 Vote: I do not like it

            I had a separate check at the beginning of the program

            if(n==0 || m == (n*(n-1))/2) {
                cout << 0 << endl; return 0;
            }
            

            For the your example case, it would look something like this:
            - While trying all subsets, we currently have S = {2, 3, 4}
            - Start BFS from 2, add 1 and 3 to queue
            - Visit 1
            - Visit 3, add 4 to queue (not 2 as it's already visited)
            - Visit 4, add 5 to queue
            - Visit 5
            - Now that the BFS is finished, check that all vertices are visited. They are, so update the best subset to be S.

            • »
              »
              »
              »
              »
              »
              »
              16 months ago, # ^ |
              Rev. 2   Vote: I like it 0 Vote: I do not like it

              What if S = {2, 4}?

              Then you will be visiting all the nodes although 1 and 5 cannot be friends.

              Correct me if I have mistaken something.

              • »
                »
                »
                »
                »
                »
                »
                »
                16 months ago, # ^ |
                Rev. 2   Vote: I like it 0 Vote: I do not like it

                Steps would be as shown:
                - Visit 2, push 1 and 3
                - Visit 1, nothing pushed as it's not in S
                - Visit 3, nothing pushed as it's not in S
                Queue is now empty and not all nodes have been visited

        • »
          »
          »
          »
          »
          16 months ago, # ^ |
            Vote: I like it +5 Vote: I do not like it

          Why is it linear in nodes, not edges?

          • »
            »
            »
            »
            »
            »
            16 months ago, # ^ |
              Vote: I like it +3 Vote: I do not like it

            Yes, BFS runs in O(V+E) == O(E), however this is still fits quite comfortably into the time limit, with my solution running in ~300ms. 33578496

  • »
    »
    16 months ago, # ^ |
    Rev. 2   Vote: I like it +5 Vote: I do not like it

    it's so hard to see ur color...how did ppl make out u were askin div1/2 :P

»
16 months ago, # |
  Vote: I like it +12 Vote: I do not like it

I quit

»
16 months ago, # |
  Vote: I like it +7 Vote: I do not like it

Seriously, what in the world is pretest #7 for C? I can't think of any corner cases...

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Did you unmark letters on ? operation?

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it +1 Vote: I do not like it

      If I currently don't know the letter, and it gives me "? x", How will I know if he is shocked or not? I decided to make it the former and only then it passed pretests but I am not convinced that this is right.

      Lot's of ambiguity in this round.

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +3 Vote: I do not like it

        Statement said he only say correct letter at the end. So other '?' are shocked

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +3 Vote: I do not like it

        Because you're guaranteed to know the answer at the end only. It is guaranteed that last action is a guess about the selected letter. Also, it is guaranteed that Valentin didn't make correct guesses about the selected letter before the last action.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +4 Vote: I do not like it

    if something like this occurs

    ". 25 unique characters"

    then you can find the required character.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Yes I took care of that case. Or at least I tried to.

  • »
    »
    16 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    If the query is of third type and it is not the last one, then the guess is wrong.
    So we need to eliminate that character too from the set of possible characters.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I also considered that case :\ Maybe my implementation went wrong somewhere. Thanks.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      WTF like seriously he always guesses wrong -_-

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        yes, until the last query.

        It is guaranteed that last action is a guess about the selected letter. Also, it is guaranteed that Valentin didn't make correct guesses about the selected letter before the last action.

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +4 Vote: I do not like it

        It's not that he always guesses wrong. It is only that if he guesses right, the game is over. So every guess before the last one will be wrong

  • »
    »
    16 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    27 . a . b . c . d ... . y ! z ? z

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    there is no edge case in it . just make two set one of which contain all the character that can't be hidden character and another contain all the possible values of hidden character.and at any time if size of possible values set become 1 or size of impossible set become 25 , then we can uniquely determine the hidden character.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I was using two boolean arrays and simulating something like that, but perhaps it didn't work like I thought it did.

  • »
    »
    16 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    some n

    . b

    ! ab

    .... ?a

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Did you initially believed all characters to be a possible special character candidates. Only those mentioned in the strings are possible candidates.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      yes initially i considered all char possible then at each time when a string comes with '!' then i remove all the char which are in only one of them (string and possible set ) and put them in impossible.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I think it was when wrong letters are repeated in a word, or at least that was my case!

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    There's two ways to find out what the selected letter is, first, by getting the intersection between shocks and ending up with one suspected letter, or the other way around, by ruling out 25 letters.

»
16 months ago, # |
  Vote: I like it +1 Vote: I do not like it

How to solve B? (And if possible, please tell me how did you find that solution).

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I thought about looking at all permutations O(n!) for small values.
    For bigger tables there should be some way to distribute values that always works.

  • »
    »
    16 months ago, # ^ |
    Rev. 2   Vote: I like it +6 Vote: I do not like it

    I used chess coloring, then put all the white numbers to the left part of the table, and black to the right. Numbers with the same color obviosly aren't neighbors, so we just have to find n pairs of numbers with the different color, which aren't neighbors. For m > 4 that is easy ( for example, choose white numbers with j = 1 or 2, and black with j = m or m — 1). For m <= 4... some hardcoding.

    So, the point is, if I see problem about cells that aren't neighbors, I use chess coloring.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Yup, I did the same thing, but I failed to account for the case of a tall and skinny matrix, because I was initially doing it row-by-row.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      From what I understand, suppose n =5 , m =5 ;

      so, white cells = {1, 3, 5, 7, 9, ...., 25}, and black cells = {2, 4, 6, ... , 24} ;

      Putting the white numbers to the left part of the table means, filling the matrix column by column, i.e. filling in this order -> {a[1][1] ,a[2][1],... , a[5][1], a[2][1], a[2][2],...), until we have exhausted all the whites.

      Have I understood it correctly?

      Where are you filling the black cells? Do you just fill them right where the white cells end? Also, what do you mean by this -> "so we just have to find n pairs of numbers with the different color, which aren't neighbors" ?

      Thanks.

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Yeap, i fill them right where the white cells end. But there is a problem: in a new table there is n neighbors (or n+1, depending on n and m) of numbers with the different color, so they could be neighbors in the first table, so we have to fill these cells so this numbers won't be neighbors in the first table.

        • »
          »
          »
          »
          »
          16 months ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Got it. So, basically, when you were saying that we have to check n pairs of numbers, you were talking about the worst case scenario. Isn't it?

        • »
          »
          »
          »
          »
          16 months ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          One other doubt. Why do we need to hard code the solution for lower values of m and n.

          if (n *m == 1) { return "NO"; }

          else {

          We will do what you said above. If it is not possible to fill the array(i.e. we run out of possible black values to fill in the current matrix cell), we shall declare that there is no solution. Else, we have a solution.

          }

          Correct me, if I am wrong here.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    if n < 4 or m < 4, Just checked for 1000 random permutations, if the answer existed or not .

    For all other cases the answer will exist :

    I found the smallest prime which did not divide m(which will be among the first 10 primes) and started placing the numbers at this gap.

    Solution

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Any proof/intuition why that works?

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        The intuition behind this was that if I am placing numbers at the gap which is a prime factor of m, I will get a smaller number around a smaller number. But I want it to be the other way round.

        Suppose n = 4 m = 6 Placing at gap 2 — >

        1.2.3.

        4.5.6.

        Placing at gap 3 — >

        1..2..

        3..4..

        As you can see, that numbers are appearing below each other. To avoid this the gap shouldn't be a factor of m.

        gap 5 — >

        1....2

        ....3.

        ...4..

        As you can see Numbers are not appearing below each other. But there's another case in which the gap may be a factor of n which is pointed below by Omar_Elawady. So we will place the number at a gap of the first prime which does not divide n*m.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Fot the test "5 36", Your code prints 1 next to 37!

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Yes, you are right. I didn't think that through. The case you pointed out was that I haven't excluded the prime factors of n. In this case I am placing a numbers at a gap of 5, which is a prime factor of n.

        So instead of placing numbers at the gap of first prime which does not divide m, we will have to place the numbers at the the gap of the first prime which does not divide n*m.

»
16 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

Does randomize algorithm work in problem B (and maybe C)?

And what are the deterministic solutions for these problems?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    I got pretest passed with a random solution on problem B, but I do have a lot of pragmas. Without them it took at least 6 seconds in some cases. I tried to submit C but I had a bug in the implementation.

    • »
      »
      »
      16 months ago, # ^ |
      Rev. 2   Vote: I like it 0 Vote: I do not like it

      Can you share some cases that your program need 6 seconds to run in problem B?

      Thanks a lot!

  • »
    »
    16 months ago, # ^ |
    Rev. 6   Vote: I like it +5 Vote: I do not like it

    I came up with the following deterministic solution: for n & m less than 3, the answers are hard coded, otherwise;

    - for general case, initialize the original grid then rotate even rows 2 positions to the right and even columns 1 position to the bottom.
    - Else if m <= 3, then rotate the even columns 2 positions to the bottom, and the even rows 1 position to the right.
    - For cases where m = 1 or n = 1, I did a special handling by rotating each 3 consecutive elements, with step = 2

    Unfortunately, I couldn't get it AC during contest, and this is harder than the randomized one.
    http://codeforces.com/contest/907/submission/33573025

  • »
    »
    16 months ago, # ^ |
    Rev. 6   Vote: I like it 0 Vote: I do not like it

    I used this strategy.For example take numbers 1,2 , ... ,n. Write them in the next order( let n % 2 = 0): 1, n, 2, n-1, 3, n-2, ... ,n/2, n/2+1. You can see 2 last terms are adjacent, just swap 1st and last terms: n/2+1, n, 2, n-1,..., n/2, 1. The main disadvantage is that you need the diff between any 2 numbers more than 1 ,so : n/2 — 1 > 1 so n > 4. Now we know how algorithm works for 1 row. For > 1 rows, for example:

    1 2 3 4 5

    6 7 8 9 10

    Performing operation we can get:

    3 5 2 4 1

    8 10 7 9 6 . You can see the difference in each vertical pair is m ( so they`re adjacent ), so we just write each even row in reverse order:

    3 5 2 4 1

    6 9 7 10 8. If m is odd :for each even row, swap first and middle numbers so the final answer is:

    3 5 2 4 1

    7 9 6 10 8. The same idea can be used if m < 5 and n >= 5. This algorithm works if and only if max(n,m) >= 5.

    P.S. First step: For even n you can swap not n/2 + 1 ,1, but n/2 and 1. Then you`ll get n/2 + 1 — 1 > 1 => n/2 > 1, n > 2. So, algorithm works if max(n,m) >= 4. Other cases can be handled easily.

»
16 months ago, # |
  Vote: I like it +14 Vote: I do not like it

The gaming experience is very disappointing.

»
16 months ago, # |
  Vote: I like it +13 Vote: I do not like it

I've decided to capture this historic moment. Never been so high in my life :)

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    All the best for the sys tests :)

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it +6 Vote: I do not like it

      Thank you!

      I see that there could be 2 possible pitfalls:
      1. Failed system tests
      2. Too many angry users that force the contest to be unrated ;)

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +3 Vote: I do not like it

        I don't think the contest should be unrated. Even worse(server issue) contests like previous ed #34 and 450 were rated.

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +3 Vote: I do not like it

        I feel your pain if it's the 2nd one :|

        But great job!!

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Congratulations. But let the system testing be finished. Hope it will be better after system testing.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    What's your solution to E btw?

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I've greedily added new vertices. If the vertex v introduces 10 new edges and vertex u introduces 9 new edges, I choose the vertex v instead of u.

      This solution doesn't work by the way ;)
      33565564

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +2 Vote: I do not like it

        oh wow! A greedy passed all pretests. Very weak pretests.

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        I wrote a dp solution but unnecessarily resubmit. I had the following error — I initialized my dp state to be 1 for the mask consisting of the vertex and all of its neighbours.

        It is incorrect in case of isolated vertex and vertex with 1 neighbour — it should be 0 in this case as we don't add any new edges when we select such guy to the next step.

        However the case with 1 isolated vertex or an edge are special cases handled by if and the rest of dp seems to ignore such states in an optimal solution. Is there a test, where initialising such values to 1 instead of 0 could provide WA?

        Here is accepted submission.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    yeah ... at least you got the chance to get a AC on E pretests . good for you !! and keep it up

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Actually, I feel good about this systest failure, because there was nothing clever in my solution and it was just a leap of faith :)
      I'd have been sceptical about my rating otherwise ))

»
16 months ago, # |
  Vote: I like it +8 Vote: I do not like it

Worst contest I have ever had :(

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

There were a lot of really good edges cases here, to the point that I got -1 on every problem I solved T_T

»
16 months ago, # |
  Vote: I like it +4 Vote: I do not like it

Did anyone solve div1B/div2D using random? I was thinkin about it but didn't dare to code it.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I submitted solution that uses random, but I had a bug in my code and got hacked. I think it should work.

  • »
    »
    16 months ago, # ^ |
    Rev. 4   Vote: I like it 0 Vote: I do not like it

    I generated solutions for n<=8&m<=8 using random, and solved for other cases :)

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +34 Vote: I do not like it

    I did it without any if's

    repeat 10000 times:
      for every cell of the grid:
         choose a random not yet used number for this cell. If it can't be neighbours with number from cell above or on the left, choose a different number, and so on at most 10 times. If succeeded, move to the next cell. If not, try from the very beginning.
    
    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      how do you ensure that this will pass in the given time limit?

»
16 months ago, # |
Rev. 2   Vote: I like it +7 Vote: I do not like it

Horrible problem statements. The worst contest ever. I wonder how some people understood Div 2 A correctly and got it accepted in first attempt.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +3 Vote: I do not like it

    the statement was correct, that's why.

    I believe almost noone likes problems like this but it is good to get people who do not read the statement properly and assume things just to be some minutes ahead (this works lots of times for div2A)

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I didn't get AC but my idea for div2 E was something like binary search on the ans, generate all combinations of size mid and check.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    My idea was to use bitmask of friends.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    Nice idea!

    Although this approach is correct but it should TLE in my opinion ( however, it does not ). I am quite skeptical about the time complexity of the approach. According to me, it should be O(2n * n2 * log(22)) where n2 is for checking if the generated subset is feasible and the log factor is obviously from binary search.

    Here is the AC code : http://codeforces.com/contest/907/submission/33579509

    Have I done anything wrong in my estimation of time complexity?

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      The number of subsets of size k is not 2n, but . So even if you generated these subsets for all the possible sizes, your amortized time-complexity would still be . And because of the binary search, it becomes faster.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

For D, key idea is query(l, r) = query(l, min(l + magic, r)).

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    How to do Div2 E?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Looks nice, but why so?

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      In order to know what is you need to know what is and whether b ≥ φ(m). Iterating φ(m) pretty quickly becomes 1.

»
16 months ago, # |
  Vote: I like it +7 Vote: I do not like it

D is bullshit

»
16 months ago, # |
Rev. 2   Vote: I like it +6 Vote: I do not like it

Problem A's english was very unclear. Masha needs to be able to ride all three cars but she has to dislike the first 2 cars and like the smallest car.

Problem B's english was awful. Though they gave me some clarifications in the end, but it was too late for me. After the clarification, I was like "This problem is nothing but the english killed it". This ain't the first time in CF that english has caused major upset in the contest. Please after this, let some normal (knows basic english) people view the statements before posting it for a live contest.

Sorry, but this contest sucked only because of poor english.

I found problem C interesting and passed the pretests but problem B made me suffer and could not complete it in time.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +13 Vote: I do not like it

    Don't know the situation with problem B, but I have no idea what is it that everyone dislikes about A. To me it seems like the problem is not English, but the fact that it requires a bit more thinking than the usual div2 A. In fact, English in this problem is absolutely fine.

    Let's take a look at your complaint.

    Here's your wording: "Masha needs to be able to ride all three cars but she has to dislike the first 2 cars and like the smallest car."

    Here's problem statement: "She could climb into all cars, but she liked only the smallest car."

    What new information does your wording provide? Why is it better?

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Your problem statement says that Masha may not dislike those 2 cars. She does not like it and she does not dislike it. Yes, in some senses, you can say she likes only the smallest car which means she hates/dislikes rest of them. But it is not true always. It could be that she likes the smallest car and she doesn't like the rest ( not necessarily dislike those). This caused the ambiguity. If you ask other people they will say that they made their solution thinking that Masha has to like the smallest car and for the rest she may or may not like it. "She has to dislike the two big ones" is not mentioned explicitly.

      did you get it?

      • »
        »
        »
        »
        16 months ago, # ^ |
        Rev. 2   Vote: I like it +7 Vote: I do not like it

        "he or she likes it if and only if he can climb into this car and 2a ≥ b."

        Pay attention to "if and only if" here. This means that when 2a >= b and a <= b, then she has to like it. And since it is written that she liked only the smallest one, it follows that the rest do not satisfy these constraints.

        If it's any consolation to you, the Russian statement uses exactly the same wording.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I would rearrange the problem statement in the following way.

      First, define "climbing" and "liking" as in the problem, in order to give the problem statement a more logical ordering. (This isn't an English exclusive issue, this is an issue in the structure of the writing)

      Then, explain problem statement with first and second paragraphs.

      Second paragraph being in the past tense is very confusing, especially since what came before is in the present (Father bear can..., Mother bear can...).

      Rephrase it as: "Misha needs to be able to climb into all cars, but only like the smallest car. Given sizes of the bear and Misha, determine if finding a set of car sizes is possible. If it is, print them."

      I don't think the error in this problem was that it was intentionally misleading (certain problems do this very well). The problem statement was not misleading, but it was structured in such an illogical way that made it really confusing and tricky to understand.

»
16 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

How to solve Div1D?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +5 Vote: I do not like it

    Using Euler's theorem : (a^b) mod m = a^(phi(m) + (b mod phi(m)) mod m when b > phi(m), where phi(m) is Euler's totient function.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Time limit for Div.1 C was pretty good, really fast n^2*2^n(just the OR(|) operations) did not pass. How to solve it in n*2^n?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    O(n) to check if each integer(representing each friend) has value 1<<n — 1. I think the order of making friends do not matter.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      yeah but to simulate new friendships you need to do M operation for each case. That's (n^2)*(2^n)

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        I just ORed the current friend with all friends. That's the O(n). I mean... If the current friend is 2, and he's friends with 3,4,5 then OR 2's friendships on top of 3,4,5 person's friendships

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I had 2^n*n^2 lol. Try using bitset.

»
16 months ago, # |
  Vote: I like it +11 Vote: I do not like it

I don't think those problem should appear in codeforces round(And problem A,B,C are all horrible problem statements), because we have only 2 hours to solve them.

Practice our idea instead of Reading comprehension plz.

Too large statement just make us feel awful.

»
16 months ago, # |
  Vote: I like it +14 Vote: I do not like it

I think problem A div2 needs to highlight some points, such as how Masha dislikes the first 2 cars.

Of course it was my fault for not reading the statements clearly, but it should give more of a "competitive programming" rather than "competitive problem reading".

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

How to avoid MLE in E? I took a matrix of size int[1<<22][22].

»
16 months ago, # |
  Vote: I like it +8 Vote: I do not like it

Worst descriptions ever; Ambiguity everywhere.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Was there a way to solve div1B without case bashing? There seemed to be so many cases I needed to take into account (1,1), (3,3), (N, M <= 3), (N=2,M>3), (M=2,N>3), (N=2, M=3), (N=3, M=2), (N,M >= 3)

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    try this. 4 cases: case 1: n > 3 || m>3 case 2 : n==3 && m==3 case 3 n==1 && m==1 case 4: none of above

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      How would your algorithm handle the cases (6,2) and (2,6)?

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

How to solve Div2/A :c

»
16 months ago, # |
  Vote: I like it +30 Vote: I do not like it

I have no interest in solving these problems.

»
16 months ago, # |
  Vote: I like it +180 Vote: I do not like it

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +30 Vote: I do not like it

    If you don't have good idea then solving this problem is an ugly process, but once you realize that it can be done by random then it is completely fine.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I didn't know there is a random solution, all the ones I've seen are case bashes :P. While it's much better, it's still pretty ugly. What's the point of a problem where the solution is just hoping that random passes and implementing?

      • »
        »
        »
        »
        16 months ago, # ^ |
        Rev. 2   Vote: I like it +12 Vote: I do not like it

        It's not that simple here. You need to have a good understanding whether random can pass or not. Here if I'm not mistaken probability that random permutation is fine is something like which is too small and trying random permutations will not give you AC. However number of bad pairs will be very small (~8), so you can get those bad guys and put them in random place and this process should end very quickly. In my opinion that's an interesting solution far from "let's write naive random and hope it passes".

        • »
          »
          »
          »
          »
          16 months ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Yeah that's a very nice solution, thanks for explaining it :D

        • »
          »
          »
          »
          »
          16 months ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Could you explain how to calculate these probability?

          • »
            »
            »
            »
            »
            »
            16 months ago, # ^ |
              Vote: I like it +6 Vote: I do not like it

            There are ~m2n2 / 2 pairs of people in total and ~2mn are neighbours in every arrangement. For a particular pair of neighbours in new arrangement prob that they were not neighbours in previous arrangement is ~. Of course these events are not independent, but their independence is so little that prob that new arrangement is fine can be estimated as roughly

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it +31 Vote: I do not like it

      It was a huge hint to see first two ACed solutions both working in 1.9 seconds :)

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +6 Vote: I do not like it

    You are a funny guy!

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +4 Vote: I do not like it

    Being libertarian? :D

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You only need to handle 3 case:

    • m > 4
    • n > 4
    • m, n ≤ 4

    The first two has deterministic solution, the last one can be done using randomization.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

I think this round is Reading comprehension-Dead do(loop without any algorithms)

»
16 months ago, # |
Rev. 2   Vote: I like it +1 Vote: I do not like it

for problem A, i wanted to hack this solution 33555103, but i could not because contest ended. i think this solution will get TLE on this test case: 100 49 20 5, ironically it got AC on system test ???

  • »
    »
    16 months ago, # ^ |
    Rev. 2   Vote: I like it 0 Vote: I do not like it

    I tried your test case and it should've been a TLE.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    overflow haha, i didn't think about it

»
16 months ago, # |
  Vote: I like it -8 Vote: I do not like it

Shiiit this B and A

»
16 months ago, # |
  Vote: I like it +20 Vote: I do not like it

Thanks, for the fastest system test.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +2 Vote: I do not like it

    there weren't that much of solutions to test and that is why it was fast,so you should thank for the shitty problems set

»
16 months ago, # |
  Vote: I like it +2 Vote: I do not like it

I kindly recommend that you should rename Codeforces "Readforces."

  • »
    »
    16 months ago, # ^ |
    Rev. 2   Vote: I like it +9 Vote: I do not like it

    In comparison to other judges Codeforces has the simplest language.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      At least for this contest, I wonder it's the "simplest."

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

This guy used multiple accounts. { Simp, Simp_ }

Have a look MikeMirzayanov

»
16 months ago, # |
Rev. 2   Vote: I like it 0 Vote: I do not like it

In Div2 Question A In 6th pretest i.e [v1 v2 v3 v4]=[100 99 98 100] why is the answer -1 ? and why is [200,198,100] wrong answer?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    Well, it's wrong answer because Masha can't get into the son bear's car.

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      But, the size of masha is 100, it can easily get into son bear's car according to the question. As, 100<=100

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it +1 Vote: I do not like it

        Ohh...Sorry...

        Maybe, the answer is wrong because Masha likes not only the smallest car?

        100 * 2 >= 198.

        • »
          »
          »
          »
          »
          16 months ago, # ^ |
            Vote: I like it +1 Vote: I do not like it

          Yeah, you are right,

          The thing is masha only likes the smallest car.

          But, here it likes the second car and the first one too.

          Thank you for this.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    This is wrong because masha liked only the smallest car. But in your case, she also likes the medium and large car.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    Because the max size of mama bear's car is 198 and hence Masha will like mama bear's car. However, Masha can only like son bear's car. So answer is -1

  • »
    »
    16 months ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    Masha also likes the cars of father and mother bear as 200<=200 and 198<=200. He only has to like the son's car.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Oh My bad did not see only in the question.Thanks Guys

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Perfect example where problem A spoils someone's whole contest.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Help me, please!

I really can't understand, what's wrong with my program.

It seems like only getting N is happening in test 2, Evolution() is doing nothing...

Help me, please, to find out what's wrong. 33571490

  • »
    »
    16 months ago, # ^ |
      Vote: I like it -17 Vote: I do not like it

    Привет, Всеволод)

    NumbHits++ нужно делать не всегда, а только если он уже мог угадать

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it -14 Vote: I do not like it

      Рад тебя видеть!

      Но... Я ведь вывожу не NumbHits, a NumbHits — NumbNeed. Как только в массиве Litter[] остаётся ровно одна буква, я кладу NumbHits в NumbNeed и больше не меняю...

      Тут в другом проблема...Функция Evolution() на тесте 2 вообще не запускается. Если добавить вывод в её начало, на экране ничего не появляется.

      И массив себя на тесте 1 странно ведёт... В нём либо все ноли, либо все единицы.

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it -10 Vote: I do not like it

        Функция evolution() во втором тесте запускается прекрасно, но есть пара недочётов. Первый баг, который я поправил, чтобы пройти второй тест, состоит в том, что, когда чувак неправильно угадывает букву, ты просто увеличиваешь количество ударов, а надо этот символ прочитать (без сина идёт дальнейший сбой) и в массиве Litter обнулить. Сравни свою посылку и мою 33576279

      • »
        »
        »
        »
        16 months ago, # ^ |
          Vote: I like it -15 Vote: I do not like it

        Если тебе интересно, то вот 33576931 полностью исправленное решение

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Maybe contest turned out bad because author forgot to thank Mike Mirzayanov for great Codeforces and Polygon platform :D

»
16 months ago, # |
  Vote: I like it +17 Vote: I do not like it

Sometimes poor problem statement, sometimes bad problem-set, sometimes not maintaining expected difficulty of certain problems, sometimes 20 minutes long queue, unrated, semi-rated contests — Codeforces is frequently failing to maintain its quality contests.

»
16 months ago, # |
Rev. 2   Vote: I like it +44 Vote: I do not like it

»
16 months ago, # |
  Vote: I like it -8 Vote: I do not like it

rated . ?

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Auto comment: topic has been updated by gritukan (previous revision, new revision, compare).

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Why my output is wrong? (Div2A)

input: 99 50 25 49

My Output: 99 99 49

Judge Output: 100 99 49

»
16 months ago, # |
  Vote: I like it +18 Vote: I do not like it

Want to see some cheaters? Here are they: xlj and Zero_cxy. Submissions for Div2 D: xlj's:33566367 and Zero_cxy's: 33564264. You can see that xlj replaced some parts of Zero_cxy like dfs -> asfkolasnhf, mt -> map_asfknas..., and Zero_cxy added a tree struct at the beginning but didn't use it to cheat. Those guys should be disquallified from this contest.

»
16 months ago, # |
Rev. 3   Vote: I like it +3 Vote: I do not like it

I think Codeforces server is having a few issues.

I've just received this announcement recently (one of my friends received it about 5 minutes before me).

In my opinion, this announcement must be presented long before, but for some reasons it won't pop-up in some users' browsers. Perhaps you should have a look.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

div2e

I don't understand why this output -testcase 1- is wrong?!

2 2 4

after 2 introduces all of his friends to each other, all of 1 , 2 , 3 , 5 become friends. Then choose node 4 so all nodes are friends. Someone help me understand this please.

  • »
    »
    16 months ago, # ^ |
    Rev. 3   Vote: I like it 0 Vote: I do not like it

    This is the initial graph (ignore the numbers outside of the circles, they were my drafts actually xD) After you choose guest 2, the link between 1 and 5 will be made. The similar applies to 3 and 5. (as 1, 3, 5 are guest 2's friends).

    When you choose guest 4 afterwards, since he only has 3 and 5 as his friends, and they are friended already, no more links will be made.

    2 and 4 are still not friended yet, so your solution is wrong.

»
16 months ago, # |
  Vote: I like it +16 Vote: I do not like it

I was screwed up at the testcase n=1,m=1 (Div.2 D)

»
16 months ago, # |
  Vote: I like it -43 Vote: I do not like it

Worst Contest ever!

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

now due to problem E, am trying to learn bm + dp. How to start it. i.e as of normal dp is concerned, first thing a brute force solution and then memoize it. But as for bm + dp, i looked into TSP. But there the brute force way is just factorial and it has nothing to do with the subset construction. I also looked into tutorials of hackerrank (Assignment problem). But i could not understand it. So can someone give a detailed explanation of how to approach bm+dp and how to solve it? TIA

»
16 months ago, # |
  Vote: I like it +3 Vote: I do not like it

My rating has been 1900.. I do not know should I be sad or happy :-)(

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    if in next contest (<1900).i think you will change your dp color.

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I had 1900 two times and it was ideally for perfectionist, but i am not a perfectionist, haha

    • »
      »
      »
      16 months ago, # ^ |
        Vote: I like it +8 Vote: I do not like it

      1899 is "more perfect" for me. With 1899, you are the best of experts. You know, Expert.

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

In problem A

TEST Case : 100 99 98 100 Output should be : 200 198 196

Because They can climb 100 < 200 AND 99 < 198 ANS 100 < 196

They can like also 100*2 >= 200 true 99*2 >= 198 true 98*2 >= 196 true

Masha can clim all of them and he can like the smallest one 100*2 >= 196 true

So why the system give WA and give -1 instead of this solution ?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    In your example, Masha will love the car of mama-bear, but it should not be

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    But she can't like the middle one and the largest one

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    as she liked only the smallest car.

    and in your answer she love all the cars

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I spent all the contest time in one problem because the statement is unclear :/

»
16 months ago, # |
  Vote: I like it +61 Vote: I do not like it

PurpleDreams are true now :)

»
16 months ago, # |
  Vote: I like it +5 Vote: I do not like it

Div2A: For input 100, 99, 98, 100 can someone tell me why 200, 198, 196 is not a correct answer?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Masha can't like the middle one and the larger one

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

DIV2 people(Pupil) who don't understand problem A and getting low rating :p Your text to link here...

»
16 months ago, # |
  Vote: I like it +5 Vote: I do not like it

Auto comment: topic has been updated by gritukan (previous revision, new revision, compare).

»
16 months ago, # |
  Vote: I like it 0 Vote: I do not like it

Can anyone explain why the following formula is true, and how to use it to solve D?

when b > phi(m)

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Is that (mod m) over the whole power or on just b?

  • »
    »
    16 months ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Assumption, m = p * q, Where p is as large as possible such that gcd(a, p) = 1. Applying Euler's theorem for modulo p. For modulo q, because b > φ(m) so the remainder always is 0. That is the purpose of plusing φ(m) in φ(m) + b mod φ(m),