When submitting a solution in C++, please select either C++14 (GCC 6-32) or C++17 (GCC 7-32) as your compiler. ×

Monyura's blog

By Monyura, history, 9 years ago, translation, In English

Hi, Codeforces!

I am glad to announce Looksery Cup 2015, that is prepared by our developers, each one of them has made a great impact: Sfairat, olpetOdessaONU, Sklyack, MrDindows, Rubanenko, Krasnokutskiy, 2222, Maxim, Avalanche, Igor_Kudryashov, Kepnu4 and I. Special thank to coordinator Zlobober for the help with problems and advices and to Delinur for the translation.

We've prepared 8 problems for you, that will have random order at the contest. Round will last 2 hours 30 minutes under the standard Codeforces rules with smooth dynamic scoring. We hope, that you will enjoy competition, and we will receive small amount of clars :)



Top-200 competitors will get t-shirts with the handle at Codeforces:

Winner will get opportunity to have a prepaid trip to San-Francisco.

Besides, top-15 competitors will get Oculus Development Kit 2.

And competitors from 16 to 50 — gadget Ollie.

Also I would like to thank MikeMirzayanov and everybody, who works on Codeforces and Polygon — your contribution in education and IT is hard to be overestimated.

UPD. Round will be rated for both divisions.

Looking forward to seeing you tomorrow,

Looksery Inc.

UPD3. Editorial

UPD2. Rating will be recalculated today, but it could be changed a little till final results.

UPD. Round is over. Thank to everybody, who took part. Congratulations to winners! The final results will be announced in a day, after catching all cheaters. Current top-15:

  1. tourist
  2. scott_wu
  3. Petr
  4. Haghani
  5. jqdai0815
  6. PavelKunyavskiy
  7. W4yneb0t
  8. vepifanov
  9. LHiC
  10. Gullesnuffs
  11. simonlindholm
  12. subscriber
  13. Shik
  14. izban
  15. data_h
Announcement of Looksery Cup 2015
  • Vote: I like it
  • +1426
  • Vote: I do not like it

| Write comment?
»
9 years ago, # |
  Vote: I like it -269 Vote: I do not like it

Just a Suggestion :: Keeping say 150 Tshirts for top 150 Performers and 50 for the randomly selected ones from top 500 might be more ATTRACTIVE .

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

    you got nailed dude..stop beleiving in luck :P

  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it -52 Vote: I do not like it

    maybe randomly select one from top 500 for trip to San-Francisco. xDD LOL

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +250 Vote: I do not like it

    Top-200 competitors will get t-shirts with the handle at Codeforces.
    Winner will get opportunity to have a prepaid trip to San-Francisco.
    Besides, top-15 competitors will get Oculus Development Kit 2.
    And competitors from 16 to 50 — gadget Ollie.

    Will you participate in this contest?!!

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it +9 Vote: I do not like it

      very nice ;) I am with you

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it +12 Vote: I do not like it

      What Do We Want?? Premium Rating System ... Premium Rating System ...

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    i'm agree with you . why minus?

»
9 years ago, # |
  Vote: I like it +276 Vote: I do not like it

Can I ask for other words to be print .___.

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

    You want "Sand Bag"?

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

    Last thing we want to happen is people creating fake accounts to get T-shirts name of their choice

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

      Please ignore this comment. It initially contained an incorrect argument. I thank kingofnumbers for correcting me.

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        However, here if someone takes a top 200 place(or any other place for that matter) then had they participated with their official account they would have taken the same place so it should't really have any affect on anyone else.

        Well, you forgot that if they taken part with fake account then the rating of that account will increase more than if they taken part with their real accounts and this will make others get less higher ratings

        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Hmm. I was under the impression that ones rating change was only a function of ones position and ones initial rating but it turns out that was incorrect.

          Sorry about that.

          It would still be nice if people were allowed to have a choice in the text that got printed though.

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            Nooo. Imagine two Div1 contests. One where 500 violets take part and one where 500 reds take part. Your possibility wouldn't make sense :P.

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

              Even though this comment is not relevant to the discussion but I would like to inform you that The rating calculation for unrated people is a little different . Unrated contestants have an initial expected rank of n / 2 where n is the number of people taking part in the contest. So in a contest consisting of 499 red coders and 1 unrated coder if the unrated coder gets a rank worse than 250 then his rating would drop.

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

      I guess here he was not referring to rating or anything.

      He just mentioned "to get T-shirts name of their choice"

»
9 years ago, # |
  Vote: I like it +171 Vote: I do not like it

nice t-shirts !!

»
9 years ago, # |
  Vote: I like it -90 Vote: I do not like it

Can you please give me the t-shirt for nothing :(

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +62 Vote: I do not like it

    stop begging...start winning :P

    • »
      »
      »
      9 years ago, # ^ |
      Rev. 2   Vote: I like it -36 Vote: I do not like it

      I am just trying to comment something funny but alas it becomes too funny to give up vote :D

      Thanx to Looksery and Codeforces team for that opportunity and prizes are very much tempting . Hope to have a great round with high rating everyone :) May the best win :)

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Maxim is not orange anymore!

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    That's probably because this blog was written a few days ago as a draft when he was orange. For example for round #299, I wrote the announcement blog as a draft when I was red and I remembered to fix it just when I was publishing it.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      so the draft was made before round #300 (i.e before about 40 days) , why would one write the announcement before 40 days of publishing it?

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

        Well, the announcement that the round was going to be held was made around 3 months ago so it is plausible that the draft for this post was written long ago too.

        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          that blog wasn't an announcement , it was the reward of those who donate to CF with at least 450$ (publishing a blog on the main page)

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it +38 Vote: I do not like it

        Or, Monyura did this to make this blog prettier and only use orange and red colors in it.

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

      But Rubanenko was not red for quite some time, so it is in fact pretty old :P.

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

        Perhaps that part was just copied and pasted from the original announcement, with the dates when they had such colors, and then edited a bit.

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it +27 Vote: I do not like it

        Didn't think I'll have to say it again :)

»
9 years ago, # |
Rev. 2   Vote: I like it +96 Vote: I do not like it

Btw — 8 tasks and 2h 30 min :o? Overwhelming a bit. Either most of them will be very easy or people will not solve too many of them :P.

  • »
    »
    9 years ago, # ^ |
    Rev. 2   Vote: I like it -8 Vote: I do not like it

    Just like round 300 and people managed to solve a lot of problems in it. Since it has problems for both divisions you need 7-8 problems to get a good spread.

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

      ... which definitely was not properly balanced...

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it -8 Vote: I do not like it

        Why? As long as you solve the first three problems in less than 30 minutes (most did) you got more time for the last five than in a normal div 1 round.

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

          That's not what "balanced" means. The gap in number of solutions between F and G was huge in comparison to all the remaining gaps between successive problems. That means clogging up of the many people who solved A-F.

          When there's a huge jump in difficulties, more time doesn't help at all. It just means much more people will solve F, while not so many more will also solve G.

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it -8 Vote: I do not like it

            How would removing problems help with that?

            • »
              »
              »
              »
              »
              »
              »
              9 years ago, # ^ |
                Vote: I like it +9 Vote: I do not like it

              "... which definitely was not properly balanced..."

              "Why?"

              Well I explained why that round wasn't properly balanced. I guess the point is that many problems aren't enough to get a good spread, you need problems with well-spread difficulties to get a good spread.

              • »
                »
                »
                »
                »
                »
                »
                »
                9 years ago, # ^ |
                  Vote: I like it -8 Vote: I do not like it

                Ah well, but 8 problems isn't too much for 2.5 hours at least since it would have been fine if G were like a normal D instead of a normal E.

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

    See, there were no problem at all with this contest, most reds solved between 5-7 problems and the balance weren't poor either.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it -7 Vote: I do not like it

      "balance weren't poor either", hahahaha, very funny xD. All problem beside E and F were really simple. They took me all <=16 mins, while I couldn't get AC on F for 1,5h >_>. There was no typical "C" problem.

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

        Even F wasn't that difficult, though it was one of those problems in which if you approached it the wrong way you'd have a lot of trouble, so it fit as the "slightly harder" problem.

        (Hint: it's easy to count how many valid (l, r) intervals cross a certain point M)

        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          I know how to solve it, but couldn't code it properly :/.

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

        You can't really call B and C easy...

        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          B is piece of cake , while you find an index i such that the guess is true then invite i.

          the same problem already exist on codeforces but I'm lazy to search for it

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

            B is piece of cake

            Yet it took you over two hours to get it...

            • »
              »
              »
              »
              »
              »
              »
              9 years ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              I didn't read B in early time because of the low number of who solved B. but when I did I solved it immediately

              the constrains which guarantee that f[i][i]=1 for all i is a very big hint

              • »
                »
                »
                »
                »
                »
                »
                »
                9 years ago, # ^ |
                  Vote: I like it 0 Vote: I do not like it

                Just look at how many solved it, just because it is easy to code doesn't mean that the problem is easy.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  I didn't say easy to code, I said easy idea and that hint led me to that idea

            • »
              »
              »
              »
              »
              »
              »
              9 years ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              BTW, here is the problem link, B already exist on codeforces as I told you.

              • »
                »
                »
                »
                »
                »
                »
                »
                9 years ago, # ^ |
                  Vote: I like it 0 Vote: I do not like it

                So the point is that it is easy since you have seen it before?

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  it's easy because it's easy , I only remembered that it already exist later after I solved it

              • »
                »
                »
                »
                »
                »
                »
                »
                9 years ago, # ^ |
                  Vote: I like it 0 Vote: I do not like it

                Can you provide a link to the problem in contest page? Problemset is currently blocked.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  I didn't think the block will continue for that long , here is another link anyway

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            How can you prove its correctness? What if you invite all of them, but still one of the guesses is still true? What is the correct order of processing the guests?

            • »
              »
              »
              »
              »
              »
              »
              9 years ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              you only invite person i whenever the guess him is currently correct so when you invite person i the number of messages he will receive will be more by one than the guess so it will never happen again that the guess about him is correct.

              so if I had to invite all of them then I am sure that the number of messages each one of them have got is bigger than the guesses.

              also the order or inviting is not important

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

              For any set of invited people, among all people where Igor guessed correctly, call the one with the lowest ID as guilty.

              Now, start with the empty set of invited people; call this an invitation set. As long as there is a guilty person, invite that person as well, and call the resulting set of invited people as another invitation set. If there is nobody that's guilty, invite a random person. We keep doing this until all people are invited. This forms several invitation sets; to be precise, there are n + 1 of them, one of each of size 0, 1, 2, ..., n. We claim that at least one of these possible sets are free of guilty people.

              Note that each person A can only be guilty in one set; at the first moment A is guilty, A is immediately invited into the party, and thus the number of messages that A receives exceeds Igor's prediction. Since this number will never decrease (we never reject an invited person), A will always get more messages than Igor's prediction afterwards, so A will never be guilty any more.

              However, there are n + 1 invitation sets in total, but only n people that can be guilty. By (generalized?) Pigeonhole Principle, one of the sets will be free of guilty people. This is the set we want.

              To make it constructive, instead of picking a random person when there's no guilty people, stop and take that set instead; we are guaranteed to stop for the same reason as above. This is the basis of my submission.

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

combined division again, what are the chances to be one of the top 200 :P

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

    I'm more interested in how high the chances to get +200 are. Also chances to get +400 and +600. With this number of participants and a combined round...

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

      We have 737 red coders now, let's wait and see how will this number change tomorrow :)

      P.S. And also 46 people with IGM, let's also check this one after round.

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Opps, Red Alert!!

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

          743/48, not so bad. Did they finally resolved issues with inflation? :)

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

            Oh, you made my day! I thought I had become red (for the first time) just because of rating inflation :')

»
9 years ago, # |
  Vote: I like it +13 Vote: I do not like it

Wow, eight problems! I think many hacks will be in this contest.

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

    unfortunately your comment has been hacked :D

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it +11 Vote: I do not like it

      If I stay in the same room with you today, I will hack you :D

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

I love green and also the codeforces logo :)

»
9 years ago, # |
Rev. 3   Vote: I like it +219 Vote: I do not like it

By the way, I have a feeling that this needs to be explicitly expressed by someone — I think that this contest has the best prizes on CF ever! There are 200 (!!) T-shirts and they are personally signed (!!). I don't know what these Oculus Development Kit do (and don't have time to delve into it), but they look cool and valuable. And these thingies to people from places 16-50 looks completely useless but amazingly funny, which makes me consider whether I should do some unsuccessful hacks if I will see that I have chances for being in TOP15 :3

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +127 Vote: I do not like it

    "makes me consider whether I should do some unsuccessful hacks if I will see that I have chances for being in TOP15 :3"

    #justgrandmasterthings

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +27 Vote: I do not like it

    Thanks for the clarification Swistakk – before reading your comment I thought that "competitors from 16 to 50" means people aged between 16 and 50, which raised a lot of questions :)

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

    makes me consider whether I should do some unsuccessful hacks if I will see that I have chances for being in TOP15 :3

    Consider this case: You are in top 15, you attempt some unsuccessful hacks on purpose to be in 16-50. In system testing one of your solution fails and you are not in top 50 anymore. Then you notice without that unsuccessful hacks you would be in top 50.

    This case is very sad. And if something like this ever happens to me, I'll say goodbye to competitive programing for good.

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

      Yeah, that was rather just joking :P. Btw saying goodbye to CP because of such a reason would be pretty stupid xD.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      If such case happens, CP would say good bye to you

»
9 years ago, # |
  Vote: I like it -27 Vote: I do not like it

Can I ask how many problem in this contest ?

»
9 years ago, # |
Rev. 2   Vote: I like it +28 Vote: I do not like it

340 red coders registered to contest. No chance for experts

»
9 years ago, # |
  Vote: I like it +6 Vote: I do not like it

The time is rarely suitable for coders in China. :) PS. The College Entrance Examination will start tomorrow morning. Good luck! God bless us!

»
9 years ago, # |
  Vote: I like it +7 Vote: I do not like it

Today's contest is a big opportunity for Div2 participants to become members of Div1.

»
9 years ago, # |
Rev. 4   Vote: I like it +3 Vote: I do not like it

So great t-shirts *-*

»
9 years ago, # |
  Vote: I like it -10 Vote: I do not like it

expecting unusual rating changes in this contest like: Specialist -> Candidate Master; Expert -> Master ; Candidate Master -> International Master, etc.

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

    And suddenly International Master -> Specialist. The most unusual, I think.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Generally in div 1 + div 2 contests maximum +ve rating change is around +400 but maximum -ve rating change is only around -135. So I don't think you are correct. :P

»
9 years ago, # |
  Vote: I like it +10 Vote: I do not like it

I'm going to be on airplane during contest time..

But airplane has (unstable) wifi..

Not sure if I should participate..

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

    You should try!

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

    Create fake account xD

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it -12 Vote: I do not like it

      Well sure I could do that, but then how to avoid following conversation:

      • GF: Wow, you won Looksery T-shirt
      • Me: (put some cute sentence here)
      • GF: Wait, where is "I love Hoang Yen"? :-O

      (of course there's option like creating account I_love_Hoang_Yen_2, but it would be too obvious :)))

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it +36 Vote: I do not like it

        You could have created an account "I_love_cutest_girl_in_world" and tell her that it is obvious that is about her, nobody will have strong suspicions about you and that T-shirt would be more 'universal' :pp. That means that it won't become out-of-date whatever the future will be xD.

        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it +17 Vote: I do not like it

          Do you think that such lame trick can not be seen through by the eye of a girl? :p

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

    I_love_you written t-shirt would be nice present to your girlfriend...

»
9 years ago, # |
  Vote: I like it +88 Vote: I do not like it

tourist began preparing to travel to San Fransisko. ;)

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +50 Vote: I do not like it

    With his Tourist written t-shirt. He is really tourist in San-Francisco xD

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

The worst thing about random order is trying to find the "A" problem at the very beginning. But today I have a secret weapon: https://www.random.org/

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +18 Vote: I do not like it

    Now it's not secret anymore :P

    seriously speaking, I will tell you my strategy in such situation you might like it:

    I open all the problems, then I read shortest problem statement first then second-shortest and so on until 10 minutes after the starting time I open the dashboard to see if some problems are solved if yes I read them then I solve them until I finish solving them ,the difficulty of the problems will be revealed.

»
9 years ago, # |
  Vote: I like it +3 Vote: I do not like it

that will have random order at the contest

Painful :((

»
9 years ago, # |
Rev. 2   Vote: I like it -11 Vote: I do not like it

scoring dynamic? ):

random problems? ):

I think that Problem D is the easiest problem in this contest (:

»
9 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Hello everyone !!

I hope high rating and good luck for everyone.

I have a question .

I have heard a lot of people said when the two division participate together is easier will have a high rating.

Why ??? Anyway I thank for you answer in advance!!

  • »
    »
    9 years ago, # ^ |
      Vote: I like it -8 Vote: I do not like it

    We simply want more people to have high rating ;)

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

    2 reason i think (at least for div2 participant) : 1. less "strong" unrated coder will participate (iykwim) 2. div2 participant can defeat div1 participant which can gain more rating

»
9 years ago, # |
Rev. 2   Vote: I like it +11 Vote: I do not like it

Does random order mean that it is shuffled by a computer and is completely random or are they put in an order developers want them to be?

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +22 Vote: I do not like it

    Sometimes developers' decisions are more random than the computer's ones

»
9 years ago, # |
Rev. 3   Vote: I like it +4 Vote: I do not like it

some random t-shirts for us peasants would be much appreciated :)

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

finally 5808 registrants :)

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Can you delay contest 5 min to allow for more registrants?

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

happy coding :)

»
9 years ago, # |
  Vote: I like it +13 Vote: I do not like it

I love the prizes! GL & HF to everyone!

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

hey guys look at unknownuser96 in room 118 link

»
9 years ago, # |
  Vote: I like it +46 Vote: I do not like it

(╯°□°)╯︵ ┻━┻

»
9 years ago, # |
  Vote: I like it +1 Vote: I do not like it

D problem author,great problem, like!

»
9 years ago, # |
  Vote: I like it +7 Vote: I do not like it

Hard would be an understatement , at least for poor coders like me

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

How is C solved? I could only think of a O(N2) DP solution with O(N) space complexity.

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

    A lot of casework. Whoever goes last will generally win, unless it is possible for Daenerys to burn all the towns with odd number of residents, it is possible for Daenerys to burn all the towns with even number of residents and k is even, or it is possible for Stannis to burn all the towns with even number of residents and k is odd.

    Unfortunately, there is also the sad final case of n=k, in which case nobody gets a turn and so there is no "going last"; in this case answer simply depends on number of towns with odd number of residents.

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

    Do it in O(1). There's a categorization (although not really simple) based on the number of cities with odd/even populations (called odd, even respectively), something like this (not sure, though):

    • If n = k, the game has ended, just count the number of cities with odd populations.
    • If , Daenerys always wins; Daenerys always bombs an odd city.
    • If (but not the above), the winner depends on (it's Stannis if odd, Daenerys if even); the winner always bombs an even city.
    • If none of the above applies, the winner depends on (that is, the number of moves; again, Stannis if odd, Daenerys if even); the winner plays the city opposing the previous move, to guarantee that he has a choice for the final move.
    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it +62 Vote: I do not like it

      I hate the case n = k. Found it as challenging, killed two solutions, but mine is still wrong. Stupid problem, a lot of points and much more stupid bug. :(

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

      Unfortunately, there is also the sad final case of n=k

      "Sad" is very polite word for this case :)

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Would you please explain your third case?

      How does it is depending on the pairity of k?

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        If all even cities can be destroyed by one player, then all remaining cities are odd; there are exactly k of them. By checking the parity of k, we can check which player should destroy the even cities; if k is odd, then Stannis should destroy them (and Daenerys can't do anything to prevent that), while if k is even, it's the other way around.

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

    Just coded stupid O(n2) solution to see patterns and then checked clever O(1) solution by the stupid one.

    upd. Too bad, it failed. But I think the right approach should be like this.

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

    Call the number of odd houses is odd, and the number of even houses is even

    If Stannis can burn all the even houses before the game end, he can force Daenerys to burn only the odd houses in later move (after all even houses run out), and if the number of odd houses after the game is odd, he will win. The condition to do this is (n-k+1) div 2 >= even and odd-(n-k-even) mod 2 = 1.

    If Daenerys can burn all the odd houses before the game end, he will always win. The condition to do this is (n-k) div 2 >= odd.

    In all other case, the person who end the game is winner. Why? Because in all move (except the final), the players can make opposite move to each other (if Stannis burn odd house, Daenerys will burn even house and vice-versa). And the player who do the last move can just perform the move that give him victory.

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

    I solved that with DP , state is player , CitiesToBeDestroyed , RemainingOddCities

    Note that RemainingEvenCities can be omitted since it can be drived from the other parameters .

    Till now it is O(N*N) , since both players will play optimally and each one of them will try to cancel each other move , I removed x odd city & x even city & 2 * x CitiesToBeDestroyed before calling the DP ( left at most 128 for the DP to figure out a solution )

    Thus it will be O(N * 128)

    Take a look at my solution 11465922

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      BTW , I got WA on pretest because of a logical mistake , so I increased the factor when I was debugging . 128 is too much (8 is enough to get AC) ==> O(N*8)

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Can you please explain more on how you came to the intuition that you can remove x odd cities and x even cities before calling the DP(leaving at most 128 for the DP to figure out a solution) ?

»
9 years ago, # |
  Vote: I like it +2 Vote: I do not like it

KareemMohsen and MostafaG submissions for last round look suspicious.

11467747 = 11467830 11461749 = 11467680

P.S. It's impossible to view these submissions until the end of contest, but I was in the same room with them and

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Anybody solved D with fenwick tree ? I couldn't.(

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

    I don't understand problem D ! I work my tasks about 1 h ( first 10 minutes and last 50 ), all other time I spent for reading D.

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

    Optimal solution is O(n * m)

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I will cry now (. What was the solution for D?

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

        Let b[x][y] be 1 if (x,y) is 'W', -1 if it is 'B', 0 if out of bounds.

        Increase answer by one for every (x, y) in board such that b[x][y] != b[x+1][y] + b[x][y+1] — b[x+1][y+1].

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

          why? please explain more ...

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it +11 Vote: I do not like it

            Every rectangle with bottom-right corner (x,y) is added a number of times Rx, y to the final answer (it might be 0 if we never use it).

            Because you're only doing linear operations, the final answer for any sum of rectangles is Cx, y * ax, y, where ax, y is the value on the board at position (x,y) and Cx, y is the sum of Rx, y for all rectangles that contain (x,y).

            But how can we calculate Cx, y easily? Well, except for the rectangle with bottom-right corner (x,y), all rectangles that influenced (x,y) are the ones that influenced either (x+1,y) or (x,y+1). To eliminate double-counting, remove the ones that influenced both (x+1,y) and (y,x+1): the ones that influenced (x+1,y+1). Our final result is: Cx, y = Rx, y + Cx + 1, y + Cx, y + 1 - Cx + 1, y + 1.

            To get the sum we're looking for, we want final Cx, y to be equal to bx, y for every (x,y), so from the earlier equation Rx, y =  - bx, y + bx + 1, y + bx, y + 1 - bx + 1, y + 1.

            After you calculate all Rx, y, count the ones that are not zero, and that's your answer.

            • »
              »
              »
              »
              »
              »
              »
              9 years ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              Is this based some kind of standard method? I'm trying to understand why this problem was solved by so many.

              • »
                »
                »
                »
                »
                »
                »
                »
                9 years ago, # ^ |
                  Vote: I like it 0 Vote: I do not like it

                O(n^2*m^2) algorithm was enough for this problem.

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

            I used a similar method. For cells not lying on the right or bottom border, I considered all cases in which that prefix rectangle would be used atleast once (how many times, does not matter as we can just multiply the required integer, after using it once). It will always be used unless its right, bottom and bottom-right cells are similar to it or exactly two of them are different and are adjacent.

            For the bordering cells (right or bottom border) they would be used if they are not equal to adjacent cell on the border.

            Please look at my submission for a better understanding. Solution complexity if O(n*m).

            11473484

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

      My solution is O(N2M2). I think 2D Fenwick Tree is unnecessary since N2 * M2 ≤ 108

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

        Please explain your approach.

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

          The same here.

          Init sum for every pos as 0.

          Iterate for every cell from bottom-right corner to top left corner.

          If our mask at this pos == 'W' && sum for this pos != 1:

          sum of every pos from this to top left corner += 1 — d[i, j]

          result++

          If our mask at this pos == 'B' && sum for this pos != -1:

          sum of every pos from this to top left corner += — 1 — d[i, j]

          result++

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

    i was unsure whether O(n^2*m^2) would pass. hence i implemented an O(n^2*m) solution.

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

Why O(255025000000) operation is not TL ? 11473557

»
9 years ago, # |
Rev. 3   Vote: I like it +24 Vote: I do not like it

Was Problem E just this paper? Here

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

    Your link seems to be broken.

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

    That paper seems much stronger than what we need. Also, it seems it may be numerically instable, and also seems a bit hard to implement.

    I believe there's a way to do this using only integers, though the implementation is still very tricky since there a lot of special cases. My approach was to make the points (x,y,x*x+y*y), then find whether or not these two sets can be separated by a plane. This involves checking whether or not the two 3d convex hulls intersect. The implementation is made slightly simpler by allowing quadratic solutions. Unfortunately, there are a lot of degenerate cases when things are coplanar, and I wasn't able to deal with all of those in time.

    EDIT: Actually, the paper seems to talk about my approach in section 4. Should have read it a bit more carefully.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I tried to compute the smallest enclosing circle for both sets and check if the other points lie outside this circle but I got wrong on #10. Is this even correct?

»
9 years ago, # |
  Vote: I like it +6 Vote: I do not like it

Interesting problems . Thanks for good contest .

»
9 years ago, # |
  Vote: I like it +150 Vote: I do not like it

I understand you want to introduce your company's work in the statements. But WTF was problem D's statement?

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

    I agree with you, THe problem D was very difficult understand I needed more than 45 min in order to understand MY english is bad I think that was that. but is the first time that happened this. did Someone have the same problem??

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      English does not matter, I understood the problem and sample test cases after reading for 30 mins, yet I could not solve it

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

      I spent 30 min trying to understand the statement and the result I didn't , spent 2 mins to understand the problem from sample explanation .

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Hoping for a systest miracle: for enough people to fail for 278th to get to top 200

»
9 years ago, # |
  Vote: I like it +117 Vote: I do not like it

Winner is from North Korea. Hmmm... Congratulations to vepifanov with a trip to San-Francisco. :P

»
9 years ago, # |
  Vote: I like it +49 Vote: I do not like it

How to solve H? I've spent literally the whole contest on it :( Still getting WA#4, and I have no idea why.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +11 Vote: I do not like it

    overflow

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

    Binary search; when you have fixed some answer, you have intervals of possible values for a,b,c,d in matrix B. From those invervals you can get invervals for values of ad and bc. Now you only need to check them for intersection.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Now you only need to check them for intersection

      Would you please explain it?

      In this problem, how can I tell from the values of ad and cd that our current answer is valid? I don't understand it.

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

        Assuming answer is equal to X, you can pick any value in range [A-X,A+X] (I denote values of original matrix by A,B,C,D here) for a and any value in range [D-X,D+X] for d. This gives you some range [L1,R1] for possible values of product of a and d. By picking proper values for a and d in your new matrix you can reach any resulting product from that range. In the same way you can get range [L2,R2] of possible values for product of b and c. You are interested in picking such values for a,b,c,d that ac-bd=0, therefore ac=bd, which implies that [L1,R1] and [L2,R2] have a common point. I hope my code (11475874) is clear enough.

        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Yep got that. I was trying to make the matrix B. That was my mistake.

          Thanks.

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

    Yup, same situation. I figured out how to solve it if (a+b+c+d)=/=0, but then got stuck. Really frustrating when you see the number of people that solved it...

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

    I feel your pain... Spent whole contest on H, in the end I ended submitting random calculations until this passed pretests, but I have absolutely no idea why:

    for (int bs = -1; bs <= 1; bs += 2) {
    		for (int cs = -1; cs <= 1; cs += 2) {
    			for (int ds = -1; ds <= 1; ds += 2) {
    				if (bs*cs == ds) {
    					long long den = -a + bs*b + cs*c - ds*d;
    					if (den != 0) k = min(k, fabs((a*d - b*c) / (double) den));
    				}
    
    • »
      »
      »
      9 years ago, # ^ |
      Rev. 2   Vote: I like it 0 Vote: I do not like it

      I can't understand why this works. My solution had 8 cases:
      1) (a+x)(d+x)=(b+x)(c+x);
      2) (a+x)(d+x)=(b-x)(c-x);
      3) (a+x)(d-x)=(b+x)(c-x);
      4) (a+x)(d-x)=(b-x)(c+x);
      5) (a+x)(d-x)=(b+x)(c+x);
      6) (a-x)(d+x)=(b+x)(c+x);
      7) (a+x)(d-x)=(b-x)(c-x);
      8) (a-x)(d+x)=(b-x)(c-x);
      This solution don't work. But when i sent just first 4 cases have AC.
      Why?
      Example, 5th case: ad-bc=2*sqr(x)+x(b+c+a-d), when discriminant>=0 we can find new answer. If I am wrong please explain, all the time I spent on this task.
      UPD when Discriminant > 4*(10e18) my solution broked.

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

        My solution worked with above 8 cases.. I was trying to do the same during contest..but forgot to add the case of 0. After contest i added the case to handle 0 and got accepted.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I am not positive this works but basically binary search. The truth condition is if by changing each of the elements by this much you can get the opposite sign of the determinant. Maybe this fails somewhere but I don't think so.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Idea was correct, but WA50 because of precision issues I think. Rewrote it with BigDecimal and now it works. Lesson learned I guess.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Me too. ;-(

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

    I suspect that there might actually be a simpler solution to this. Note that in the samples, for B each element differs by the same amount from its corresponding element in A (that is, |1.2 - 1| = |1.8 - 2| = |2.8 - 3| = |4.2 - 4|). I tried proving it, although I don't think it was rigorous or even worked. However, if it holds, then it's just checking 24 cases: add or subtract a number t to each element in A (that's where 24 comes from), compute its determinant (a quadratic expression in t), and find its solutions. Take the one with minimum magnitude among all found solutions.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I can't prove it, but I can say that (with this testset) it worked, since that's exactly the approach I took. See 11469632.

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

        Yes, I also used the same approach and passed.

        The idea is that if we fix the top row of the matrix B to be x, y, we know the bottom row is in the form xt, yt for some t; since the graph of is a polyline (several line segments/rays joined together), the minimum must be found at an intersection, where |c - xt| = |d - yt|. Generalizing that this must happen to all the elements at the same time is the shaky part.

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

      Did it work?

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +9 Vote: I do not like it

    Check my O(1) solution for H. I just tried all the possible combinations of +x or -x at all the places of the matrix. SOLUTION

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

      Can u plz explain ur solution in detail. Sorry for inconvenience.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      explain plz?

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      For the record, here is another constant-time solution for H, except that it relies on arbitrary-precision arithmetic to get the accuracy to 1e-9: 11493234

      The explanation is based on similar thinking to the editorial, treating the matrix as two vectors. After drawing some pictures, we need to find a line passing through the origin (i.e. this is the degenerate matrix B) such that the distances along diagonal lines from the the vectors to this line are the smallest possible (i.e. the largest of them is minimised). Diagonals are usefully dealt with by rotating 1/8th turn, then it becomes a matter of dropping down vertical lines from the vectors onto a line of the form y = mx. And the rest are details.

      But I'd really like to know if there is a simple reason why prateek_jhunjhunwala's solution works, or is it just a coincidence?

»
9 years ago, # |
Rev. 2   Vote: I like it +3 Vote: I do not like it

How to solve problem D? Is it possible to solve O(n*m) is the optimal solution?

»
9 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Congratulations I_love_you ! will be nice t-shirt with this handle ;)

»
9 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Test is ended. Please give me good score~~~

»
9 years ago, # |
  Vote: I like it +90 Vote: I do not like it
»
9 years ago, # |
Rev. 2   Vote: I like it +39 Vote: I do not like it

THe problem D was very difficult understand I needed more than 45 min in order to understand MY english is bad I think that was that. but is the first time that happened this. did Someone have the same problem??

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

    I finished problem A then spent the rest of the contest trying to understand D, I jumped to some other problems as well but since so many people were finishing D I kept going back to it.

    Still don't know what it was asking for O_o

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

    Now, I don't understand problem :)

»
9 years ago, # |
  Vote: I like it +166 Vote: I do not like it

Seems like RNS hadn't even tried to pretend to be single person. 2 submits in the very same second, 2 accepted within 14 seconds of each other...

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

    Also the two neighbours submissions have pretty different amount of includes...

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +20 Vote: I do not like it

    I think I've read somewhere before that they are a team from Korea always participating together.

    I wonder what they are going to do with the tshirt. smh

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it +22 Vote: I do not like it

      I do believe in integrity of Codeforces contests enough to be sure there would be no T-shirt for them

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it +122 Vote: I do not like it

        We're aware of this "user", this won't be left unpunished.

        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          And his name is nowhere in the rank list. Faith in codeforces restored (not that it was ever shaken)!!

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            it's because two of their solutions failed system test

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

          I feel like having a big banner on CF home page saying "NORTH KOREA DOES IT AGAIN: ANOTHER SHAMEFUL CHEATING ATTEMPT FROM NORTH KOREAN STUDENTS" would be a more appropriate punishment than hiding them from the leaderboard.

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
            Rev. 3   Vote: I like it +41 Vote: I do not like it

            I think that that kind of generalization would be too racist.

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

              Suppose Brazil U20 wins the World Cup 3 times in a row. The day after the 3rd final you open the newspaper and it says "Brazil does it again: another amazing performance from Brazilian youth". Does it sound a racist generaliazation?

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

                You can't say it's shame on all north korea coders just because one of them cheated

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

                  It was definitely more than 1 though.

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

                Your example is just silly. It doesn't sound like a racist generalization because it isn't. One might claim that usage of "Brazil" and "Brazilian youth" is a generalization since it's actually only a team who've won the cup, not the whole country/nation. But it's wrong because that is their national team we're talking about. That sentence congratulates the whole country because the team that represents them have won. It's totally different than blaming a whole nation based on limited observation. I think you should consider what you've said before and try to be less offending.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  I do not understand your argument. You were happy with Brazilian headline. Now I went ahead and replaced Brazil with NK, the phrasing referring to the act of stellar performance with the phrasing referring to the act of shameful cheating, and Brazilian youth, that represented the team, with NK students, that represented the NK lab behind the user.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it +9 Vote: I do not like it

                  I still think that my argument is clear, but I will try to put it in other words just to be sure:

                  There are 10 people in a room.

                  First case: Some person steals something from me. Then, I come to conclusion of every person in that room is a thief.

                  Second case: I want someone to play ping pong with me, that's why I go into that room and ask them to chose a representative player for their room. They choose the player. I play with that player. He wins. I congratulate the room.

                  The important thing to notice is: I'm not saying everyone in this room can beat me. I'm just saying that this room has defeated me. In the second sentence, "the room" actually refers to the player that represents its room.

                  First case is a generalization. Second one isn't. It's not related to action's morality or something. It's just that these examples are different. Trying to compare them is absurd.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it +22 Vote: I do not like it

                  Now I realize you probably don't possess all the information. This is not the first or second case of a user claiming to be from North Korea being in the top through obvious cheating (code strongly resembling other NK user's code) or less obvious suspicions (submits for different problems within seconds of each other, different coding style, etc). Sometimes they get punished (like on Rockethon this year), sometimes they don't (there was a long discussion on Codechef sometime ago about a Long contest, not sure what happened in other Long contests). I haven't encountered a single case of NK user in the top that resembled an honest result. (I believe there are links pointing to some of these occasions in comments around here so you can check for yourself.)

                  Hence analogy to your example would be -- every time I see a user from that room coming out, he is stealing something. And I come to conclusion that that room is full of thieves.

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

            Hiding them from leaderboard doesn't prevent us from something like you've described. The cheating issue is much more general and complex than just punishing separate users that get too high in the leaderboard.

            Also that would be not fair to say that the worst cheaters are from North Korea, there are many other countries with high amount of cheaters...

            • »
              »
              »
              »
              »
              »
              »
              9 years ago, # ^ |
                Vote: I like it 0 Vote: I do not like it

              North Korean cheaters are the only ones I've seen hailed in internet media (I am referring to NK press making news out of their 'victories' in online contests). I suspect they wouldn't continue this blatant cheating if they got publicly scolded once.

              • »
                »
                »
                »
                »
                »
                »
                »
                9 years ago, # ^ |
                  Vote: I like it 0 Vote: I do not like it

                I think they wouldn't care. It's like they're cheating for the sake of cheating, being that obvious.

                Not a big banner highlighting someone, but a Hall of Shame (in a sufficiently non-annoying manner) for all cheaters would be appropriate.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  They were quite obvious at Codechef contests too, yet Codechef chose not to ban them. They are actually posting news about results of those contests to show how advanced their university is.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  Mhm, I wonder why Codechef did what they did. My guess is negligence, but being threatened is also a possibility.

                  You can't stop propaganda, anyway. If they didn't win any contests, they could outright lie.

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it +19 Vote: I do not like it

            I wonder if Korean students are really aware that they are participating not in a team competition?

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

    Why should they ? The believe these are team contests.. :P Here Here

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

      That's hilarious! "Chinese team ACRush working for Google in Washington"

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +20 Vote: I do not like it

    Is that all the proof you have?

    I'm pretty sure I've had 2 accepts in 14 seconds at some point in some contest. You give up on debugging a problem, do something else, go back to debugging the first one and find the bug immediately.

    Also, if the internet connection is down, you'd continue solving things and then submit 2-3 solved problems at the same time when you're able to submit.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it +29 Vote: I do not like it

      I do not want to go deeper into 14 seconds delta, but non trivial submits on different problems in the same second?

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        I explained it. Connection comes back up, you submit 2 things you solved during downtime. Some random lag causes the first submission to delay by 2-3 seconds, so it looks like the same second instead of 5 seconds difference.

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

          While using different templates for different problems

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            That is slightly strange, but still not proof. For example, when a problem requires maxflow, I copypaste some code that I wrote years ago, using a completely different coding style and different macros.

            • »
              »
              »
              »
              »
              »
              »
              9 years ago, # ^ |
                Vote: I like it +66 Vote: I do not like it

              There ought to be a moment when you stop multiply small probabilities and say that something that walks like a duck and quacks like a duck is a duck. Besides admins can check you theory about disconnect by looking into logs

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

                Obviously it looks 99% like what you're saying, but you have to give an extreme amount of "innocent until proven guilty", since false positives are quite terrible.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it +21 Vote: I do not like it

                  No, it looks maybe 99.9999% like what you're saying. The chances of getting 2 submits on the same second are already extremely low — it's never happened to me before, AFAIK, and I've made a LOT of submits. A few seconds are very, very rarely enough to fix a bug and submit. Especially if "you're on a slow connection".

                  By quantum physics, there's non-zero probability of an event occurring (as long as it's in accordance with basic laws — causality comes to mind here). How low does the chance of being a false positive have to be for you to disregard it?

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

                  to W4yneb0t:

                  I don't know why are you arguing whether it's cheating or a rare cased happened.

                  simply if it is really rare case happened at least RNS could say so,but even him didn't say that it's rare case happened and if he is banned from commenting then he could create new account to say so ,or he can ask a friend to use his account to comment.

                  also if you're saying that those proofs are only 99% correct then could you give us example of how a 100% proof look like?

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

                  As Xellos pointed out above, there's no such thing as a 100% proof. It's hard to say what's enough, but 99.999% definitely is and 90% definitely isn't. With only the info in Egor's original post (before he and Xellos responded with more info), I wouldn't even give it 90%.

                  This is not another matter of two gray users submitting the exact same code with 1 character changed. Take it more seriously.

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  9 years ago, # ^ |
                    Vote: I like it -11 Vote: I do not like it

                  if I was in RNS situation and I know that I'm not a cheater then I would post a comment with explanation to how is that these rare cases happened with me.

            • »
              »
              »
              »
              »
              »
              »
              9 years ago, # ^ |
                Vote: I like it +18 Vote: I do not like it

              While bragging about competing as a team.

              Anyway, which of these two options do you think is better?:

              1. skip solutions of suspected cheaters and give them a chance to appeal it

              2. nothing

              • »
                »
                »
                »
                »
                »
                »
                »
                9 years ago, # ^ |
                  Vote: I like it 0 Vote: I do not like it

                Bragging where?

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

                  One link (Russian, Ctrl+F AcRush), evidence that at least one NK team considers individual participants "teams". Further links showing mugurelionut's digs into it: team rns4 (presumably this RNS) did cheat by using another account to submit.

                  Just try googling for more. Okay, one more link, compare it with this situation.

                  At this point, you're asking if it's "all the proof" that there's of NK sending teams into individual contests and publicly talking about winning them (hence "bragging"); repeatedly, NK "users" have successive submits with extremely small time gaps, different users had nearly identical codes (plus CC decided they didn't cheat, which is suspicious by itself), and individual users repeatedly send codes with completely different structures. Once again: extremely similar behaviour for different users. Yes, that's all the proof.

                  Anyway, you haven't answered my question: which choice is better?

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

                  Ok, I'm largely convinced. I'm not sure which is better — some people would just say "well fuck you then" instead of appealing, and even if they appeal successfully, there will be some damaging community drama.

                  I suppose whoever made the decision to disqualify the offender has had access to all this info that you and Egor posted. This info wasn't shown anywhere to someone who is new to the discussion. In this case, it's fine to disqualify.

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

        maybe he is multi-threading human? :D

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

    tourist also should be punished... it's clearly impossible to solve 7 problems in 1:08 alone.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +56 Vote: I do not like it

    Maybe they don't know that contest for only one coder?)) Or maybe they need a good result to be not killed by their authorities?

»
9 years ago, # |
  Vote: I like it +37 Vote: I do not like it

I love this contest

very nice problems.

Hello div 2 again.

»
9 years ago, # |
  Vote: I like it +60 Vote: I do not like it

D was truly written in an AWFUL way, it took me around an hour to get the statement behind the simple problem :/

»
9 years ago, # |
  Vote: I like it +172 Vote: I do not like it

k = n in C is so wrong in so many ways >_>... Who would want to play a game which is already ended? I think such tests should be excluded since we have "Stannis starts the game." and when it's already ended it's false xD.

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

    I'm also very disappointed about that.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    exactly! how could Stannis start the game if the game never starts!?

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      i just found out i got hacked cause of that and now i got accepted :|

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        well I was in a really quiet room. No hacks in my room!

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

    But sadly it was stated that K <= N. That was really tricky. What a sad story!

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

      If there would be a constraint that k ≤ nn then it would also be true — constraints given by inequalities in algo problems stay for conditions which are necessary for test to be correct — not sufficient ones.

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

    Sounds similar to "stressful victory" in this years FBHC, doesn't it? :D

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Is there a chance they change the test cases and rejudge C solutions!?

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Frankly saying — of course no. However I will stick to my understanding that k = n should be forbidden, but someone can always use some lame excuses like "statement was vague and since it wasn't excluded explicitly by constraints then you should consider this case" (which is not a valid reasoning of course :P).

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Can't agree.

        Formal > non-formal, so input > description.

        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it -13 Vote: I do not like it

          See my comment above: http://codeforces.com/blog/entry/18348?#comment-233274 Moreover, how "Stannis starts the game" is non-formal for you?

          There is no such thing like "input is more important than description" or other way round. All of them should be consistent and rules assured throughout whole statement are on the same level of importance.

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

            Consider this version of actions during the game: on their turn a player checks if there are just k cities left; in such a case, the game ends and otherwise, that player makes a move. For-loops work this way: the ending condition is checked before the first iteration.

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Actually there's a lot of problems that have test cases where the game already ended before it starts

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

          How is that justifying anything :P?

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            You said test cases such that the game is already ended should be forbidden when the problem statement says that "[name] starts first" , but a lot of game problems exist on codeforces or other OJ stated that "[name] starts first" and has test cases such that the game already ended before it start.

            so I meant to say that it's very normal thing to have test case k=n in this problem just like it's normal in other game problems

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        It's a reasoning with which someone may disagree, but it is a valid reasoning. The statement may be considered vague (at least I needed to translate from Weird English to English sometimes in this contest) in such a way that the case k = n wasn't explicitly excluded. If a case isn't explicitly excluded by the statement, one should consider it (I didn't). Which part of this would be objectively invalid?

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

          "Which part of this would be objectively invalid?" — in an "ideal mathematical model of statements" there is no distinction between "explicitly excluded" and "implicitly excluded" and I consider(ed) that phrase as implicitly excluding, therefore excluding.

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            "I consider(ed) that phrase as implicitly excluding"

            That's not objective.

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

              It is if we will assume that "starts the game" implies "first move exists". One may assume it, one may not, however there should be only one "true meaning" and what we can do now is to debate whether it is as I said or not.

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

                "One may assume it, one may not"

                Yep, that's what "vague statement" means. To you, the statement means one thing, so you disgree with the reasoning you call invalid. To someone else, the statement may mean something else — not falsely — and that person would disagree with that same reasoning.

                You've made your point and I see your point, but I don't dismiss everything else. The important thing is: what to do next? There's nothing more to say. What there is to do: improve at reading statements, improve at problems of "UGH CASEWORK" type, lead by example by setting problems clearly, offer to review problems for future rounds (if you don't want to participate...) or find someone else who could do that. Path to perfection...

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    The authors might say, "You know nothing(about Stannis's stubbornness)" ;-)

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

    If it said "Stannis plays the first move", you would be right, but it doesn't. "Stannis starts the game", and the game immediately ends, no problem there.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Hmmm... Probbaly you're right, however whatever the "true meaning" is, I guess it would be best if I will just leave it as it is, stop complaining and be more careful next time :p.

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

      He has to make a move to start the game :|

»
9 years ago, # |
  Vote: I like it +37 Vote: I do not like it

With all due respect, let's all take English to the grave and bury it together after this contest. Specially on problem D.

»
9 years ago, # |
  Vote: I like it +18 Vote: I do not like it

Am I they only one who had problems with viewing the code for hacking ? The whole code goes out of the box !

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yes, but after closing and reopening, it fixed itself.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I did that .. but it continued with me for the last 15 minute .

»
9 years ago, # |
  Vote: I like it +26 Vote: I do not like it

Shoutout to dreamoon_love_AA for hacking my C (with n = k) so that I fixed it and got a lot of points on it :)

»
9 years ago, # |
  Vote: I like it +10 Vote: I do not like it

We hope a good stay in San Francisco for tourist!

»
9 years ago, # |
  Vote: I like it -13 Vote: I do not like it

Hoping to become purple, please update ratings fast.

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

how to solve G? I tried by sorting the people according to the initial cash they hold, updating the final cash in hand, and checking for validity. But this doesn't pass the pretests. What is the correct solution?

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

    How to solve E?

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Got my mistake. We need to sort according to a[i]+i

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

    I just passed after contest. For every guy in line give him what would be his value if he is last in line. grab the minimum of this values and update the rest of the array. It is safe to put him at the end of the line as no one else can have value smaller than him by definition of minimum.

    When updating everyone who was before the guy with minimum value, say x, they paid him one dollar, though their position become closer to the front and the number of guys in line decreased by one, so we subtract one from all these guys.

    For every guy who was in front of x also subtract one as the number of guys in line decreased by one.

    Then check if we meet the conditions given of the line.

    http://codeforces.com/contest/549/submission/11476753

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

    Since the amount of money a person has is "adjusted" by the change in his position, we can sort the list of people by (original money + original position), then we can place the one with the lowest (original money + original position) in front, then the next one and so on, subtracting off the position from (original money + original position) as you place them. If the resultant order is not sorted, then it is not possible, so output impossible.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      "then we can place the one with the lowest (original money + original position) in front" in front you mean the end of the line?

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Yup, end of line or "front" of output. Thanks for the clarification.

»
9 years ago, # |
  Vote: I like it +45 Vote: I do not like it

Dropped far from top 20 because added eps for comparison in H. So stupid :(

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

    Same here.

    EDIT: Actually I wasn't in the top 20 anyway. But I think Maybe in the top 200 :D:D

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

    even i added 'eps' and failed. Sadly i also failed for n=k case in C . bad day..i could have been orange easily :(

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Sorry if this is a stupid question (first time participating), but: The contests announcement said the order of problems is going to be random, but couldn't people have guessed the value of problem based on how fast its points are falling off? (there was a table on RHS that listed how many points I can get at that point in time for each problem).

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

    Yes; that doesn't falsify the statement that the problems are ordered randomly, even though you can figure out what the "proper" order should be by watching the scores falling.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      I don't recall exactly what I saw in the table, but:

      How did the points all start out at 3000 if some problems were actually worth only 250, 1000 points, etc.? For instance, if problem A showed 2xxx points in the table early in the contest, wouldn't that have been misleading?

      Thanks.

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        That is called dynamic scoring. The score of a problem depends on the number of people that have solved it; naturally, the more people that solved it, the less the point value is. But at the beginning of the contest, the number of people that will eventually solve it is obviously unknown (not happened yet), so the scores are based on the current number of people that passed pretests.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    These numbers depended on the number of solutions that passed pretests at any point in time. You could just look at the dashboard and guess the order of problems based on the number of solutions listed there.

    It's perfectly okay to use that.

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

    Of course, but it's only a guess. Also, it might be very wrong because everyone submitted a wrong solution (see problem C).

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

One unsuccessful hacking attempt can send someone from 1600 to 2700

As did to me! :(

»
9 years ago, # |
Rev. 2   Vote: I like it +41 Vote: I do not like it

Series of silly bug

  • C: forgot base case where n = k
  • F: use cin/cout without sync_with_stdio(false)
  • H: use eps

from ~80 -> 943 Orz

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

    don't worry, better luck next time.

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

    Mine:

    • G: used cout and printf with sync_with_stdio(false)

    • H: intended to use max{|A|,|B|,|C|,|D|} but forgot ||'s

    Good bye, T-shirt.

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

    It feels nice when you are not alone who failed due to silly mistakes!

    1. C : n = k

    2. H : eps

»
9 years ago, # |
  Vote: I like it +18 Vote: I do not like it

Seems that the writer of C scenario hates the Lansters :P

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

    What will they do if they burn King's Landing (with the Iron Throne)? It will happen if k=0.

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

Is an expected complexity to E? I came up with a solution based on inversion pretty quickly, but when I realized that I need to compute convex hulls on fractions (or on doubles and have hope that this somehow will pass) and that TL seems very risky for such complexity (with hevy operations on fractions/doubles) I felt sad :(.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I believe O(nm) is possible via randomized half-plane intersection; not sure if this was the intended solution though.

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

    No, tutorials will be published very soon and you will see, sorry for delay:)

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

In problem C, what would be the answer for this case:

8 2

2 2 2 1 1 1 1 1

with explanation please.

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

    Daenerys wins, because she can destroy all cities with population 2. Then there will be two cities with population 1 in the end.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      well, you have other possible scenarios that makes Stannis the winner.

      how I'm I suppose to decide ??

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

        In these type of tasks you should suppose that both players choose the best possible strategy.

        In this case, if Daenerys plays optimally, Stannis have no way to win.

        Another possible explanation — choose the strategy when the only answer exists. If there is no such strategy — the answer is impossible (if the task allows this kind of answer).

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Can anyone explain why my G failed? Shouldn't nlogn sorting pass for n<=2*10^5? http://codeforces.com/contest/549/submission/11470961

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    You probably need to use PrintWriter for output and maybe even a faster input method such as BufferedReader.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    use faster input and output methods and store answer and print it once instead of print part of answer each time in a loop

    your code with a little change in input and output: Your text to link here...

»
9 years ago, # |
Rev. 2   Vote: I like it +3 Vote: I do not like it

E: since the values of coordinate are small, we can decrease the number of points by ignoring the points which is not in the convex hull.

After that, for each point we use geometric inversion at the point, then we can easily calculate the answer by sorting the points by the argument.

The time complexity is O(|coordinate| log |coordinate|)

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

    Wow, that is so smart! Problem with large number of points magically disappears.

    However I'm pretty sure that removing points from convex hull leaves not of them, where z is a range of coordinates.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Your claim is correct.

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

      Oh, you are correct. I believed it was O(z^(1/2)) until now...

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

    Btw, I also came up with an inversion, but what do you mean by "we can easily calculate the answer by sorting the points by the argument"? In my understanding we need to check whether there is a line that separates two sets of point which is equivalent to checking whether two convex polygons intersect, which is not that trivial.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      sorry, I mistook. But we can calculate the answer O(z^2log z), by judging whether two convex hulls intersect.(since two polygons are convex, we can judge it by plane sweep method)

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

    Lolololol, that is so wrong, you can't disregard points inside convex hull ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°) ( ͡° ͜ʖ ͡°)!! But that was a good try :D. I wonder whether there are tests detecting this :P.

    UPD: However we can throw away points inside one of them — that one which we apply inversion to. But this blows up complexity to :P. But it should pass either way

    UPD2: Duh, what I said it's not true as well -_-. I got lost xd

»
9 years ago, # |
  Vote: I like it +93 Vote: I do not like it

I was at place 212 in the first "final standings" and I am now at place 202! Could you find two more cheaters :p? These T-shirts are so nice!

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +93 Vote: I do not like it

    I was at place 316 in the first "final standings" and I am now at place 311! Could you find 111 more cheaters :p? These T-shirts are so nice!

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

    And the chance accepted :)

»
9 years ago, # |
  Vote: I like it +62 Vote: I do not like it

Now lets move on to the Champions League Final!! :)

»
9 years ago, # |
  Vote: I like it +17 Vote: I do not like it

I hope updating the ratings doesn't delay for too long

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +19 Vote: I do not like it

    "The final results will be announced in a day, after catching all cheaters. " ... So the ratings will change only after the final final standings ?

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

First I got accepted on my solution for problem A , then the verdict changed to "skipped" , why ?? Can someone explain for me ? And I've only submitted ones.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    If you share the submission link perhaps someone can help you :)

  • »
    »
    9 years ago, # ^ |
      Vote: I like it -11 Vote: I do not like it

    Perhaps you shared your code with someone else...

»
9 years ago, # |
  Vote: I like it -12 Vote: I do not like it

Wish you'd try to catch cheaters every round because many people participate together. Why don't you add a report option? If someone spotted 2 or more codes very much the same they could report them to you.

»
9 years ago, # |
  Vote: I like it +45 Vote: I do not like it

I wish after 49, there was 50.. Where happiness meets cottons :)

  • »
    »
    9 years ago, # ^ |
      Vote: I like it -9 Vote: I do not like it

    That definitely sucks

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

    Top 4 contestants(sorted in unluckiness order!)

    1.scott_wu

    2.zemen

    3.You!

    4.kostroma.

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

      If I'm not mistaken, scott_wu works in Sillicon Valley, which is right next to San Francisco, so I wouldn't call that very unlucky xD

    • »
      »
      »
      9 years ago, # ^ |
      Rev. 3   Vote: I like it +11 Vote: I do not like it

      I think he is big loser of the match. :D

      UPD : now you become big winner of the match. :))

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +23 Vote: I do not like it

    they've got 2 cheater below you, congrats ;-)

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Sadly, it seems that they were not cheaters and you're 51 again :'(

»
9 years ago, # |
  Vote: I like it -8 Vote: I do not like it

Will be there any editorial, plz?_

»
9 years ago, # |
  Vote: I like it -11 Vote: I do not like it

I have a question. In the final standings, it doesn't show that I solved A. It just shows I have 1 unsuccessful attempt at D. Why?

»
9 years ago, # |
Rev. 2   Vote: I like it -17 Vote: I do not like it

»
9 years ago, # |
  Vote: I like it +24 Vote: I do not like it

Dynamic scoring in contests with joint divisions is very poor. C worth 2000pts is a joke. As a result we get people with F done and without n=k case in C ending up lower than those with case n=k considered.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it -9 Vote: I do not like it

    Because of the number of solving users, I have not read the problem statement E and F. And I spend a lot of time for problem C and calculate as more as possible on my A4 papers. However, when I see others solutions for C when hacking, I was shock for the length.

»
9 years ago, # |
  Vote: I like it +19 Vote: I do not like it

Thanks for the contest. This contest shows my poor English reading skill. I spent nearly an hour in struggling with the statement of D. Thanks for the example input and output, and strict pretest of D.

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

    BTW, who can give me some tips or advice to improve my English reading ability in Programming Contest?

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      As in every other language, the way to improve is practicing. If you want to improve your understanding of the English statements then the best way is reading and trying to understand lots of other problems, out of competition, here on Codeforces

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

      you can refer to the answers on this question on quora: link

»
9 years ago, # |
Rev. 3   Vote: I like it 0 Vote: I do not like it

Sorry its already mentioned in the post.

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Why were some people's codes skipped? Although the codes were skipped their ratings still increased.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Cheaters

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

    If you have submitted two or more solutions and get pretest passed, only the last time will be system test, and the others will be skipped.

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

      i think Erilyth is referring to something like this. UPD: i think the issue has been fixed.

»
9 years ago, # |
  Vote: I like it +3 Vote: I do not like it

Can anyone explain in detail the binary search solution to question H? I have been struggling for the last hours to solve it/understand it.

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

    My solution: 11477556

    Binary search for the answer (maximum for absolute value of change of any of a, b, c, d). Minimum possible value is 0.0. Maximum possible value is max(min(|a|, |d|), min(|c|, |b|)). (Because it is sufficient to replace one of a, d with 0.0 and one of c, b with 0.0.)

    Step of binary search. Find maximum and minimum for a * d and for b * c, changing any of them (a, b, c, d) up to x, where x is current value of the answer. See my functions bestMax and bestMin. They select the best of 4 values. (Proof: the result of a multiplication is a liner function of each of the values multiplied. Maximum value of a linear function is observed when its argument is min or max.)

    Then you compare four values. If range of (a * d) values intersects with range of (b * c) values (see function best), then such values can be selected that (a * d) — (b * c) = 0. If this condition is satisfied, then the answer is <= current value of x, set max bound of binary search to current x. Otherwise set min bound of binary search to current x.

    Number of steps is set to 1000, so precision is about a value of 2^1000, which is much more than 10^9.

    • »
      »
      »
      9 years ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      Thanks a lot, could you tell me what is wrong with my code? http://codeforces.com/contest/549/submission/11489337

      • »
        »
        »
        »
        9 years ago, # ^ |
          Vote: I like it 0 Vote: I do not like it

        Your code works with two minor fixes: 11492104

        • replace "Double.MIN_VALUE" with "l1 * r1". Double.MIN_VALUE is the smallest positive value. Results of the multiplication can be negative, so Double.MIN_VALUE is not suitable.
        • replace "lower < upper" with "lower <= upper". The value for which lower == upper must be accepted. Otherwise the error may be greater than 10^-8 (see my attempt 11492063 )
        • »
          »
          »
          »
          »
          9 years ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          Thank you! What is the significance of l1 * r1?

          • »
            »
            »
            »
            »
            »
            9 years ago, # ^ |
              Vote: I like it 0 Vote: I do not like it

            "l1 * r1" is one of values. Other option is to use Double.MAX_VALUE * -1

»
9 years ago, # |
  Vote: I like it +7 Vote: I do not like it

Wow, just wow!! I must applaud codeforces on the algorithm they are using to catch cheaters. But the algorithm is so effective, that it is not only catching catchers, but also innocent problem solvers. Kudos to codeforces!! -_-

»
9 years ago, # |
  Vote: I like it +141 Vote: I do not like it

We've finished to process similar solutions. This time we unrated users with very-very similar solutions, but didn't count the first (by time)/original solutions in each equivalence group. Next round we will punish them too. We believe that it is the duty of a participant to not allow solutions to leak. For example, you should not use ideone with enable Public - your code will be available to everyone feature. Also next time we will make deeper analyze to compare solutions and find cheaters

In case of repeating cheating an account will not be able to take part in rounds for some time.

Please work personally. Use of another's solutions does not make you smarter. It is ugly and shameful, it is disrespectful to Codeforces and other participants.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it -24 Vote: I do not like it

    Could you Please explain how the current dynamic scoring works?

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +56 Vote: I do not like it

    Problem A was a cakewalk problem and it had several (about 3000+ ) solutions accepted . So chances of 2 or more solutions being same are really high , i personally know some people who solved it really quick and i am sure they didn't cheat but still they got caught for cheating and this round went unrated for them , i think an exception should be made for problem 'A' only and should not catch cheaters for this this problem . Thank you :)

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

      I am in a similar situation. I submitted within ~9 minutes and I think it is the reason I have been disqualified from the contest :/

  • »
    »
    9 years ago, # ^ |
      Vote: I like it -8 Vote: I do not like it

    It looks like my soltions got accepted again. Sorry for the angry outburst, but I do think you should look into the solutions more carefully.

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

    There are also cheaters who have two accounts and use one to view other's solution (after passing the pretest) and then use the other one to copy it. To handle this situation, I think problem writers should make sure their pretest are strong enough.

    Another solution is to add more limit on hacking. For example, one can lock a problem if and only if his solution have passed the pretest for 30 mins or the contest will end in 30 mins.

»
9 years ago, # |
  Vote: I like it 0 Vote: I do not like it

cheaters removed and Update again rating and hello div 1 again (:

»
9 years ago, # |
Rev. 3   Vote: I like it +238 Vote: I do not like it

Losery Cup 2015

»
9 years ago, # |
  Vote: I like it +75 Vote: I do not like it

I'd rather have my username exactly the same on the back of my t-shirt. I mean Monyura shouldn't be monyura on his t-shirt.

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

    Sure. Monyura is Monyura on CF only. In all other places he is monyura. So, it's just a bug on T-shirt example.

  • »
    »
    9 years ago, # ^ |
      Vote: I like it +33 Vote: I do not like it

    Don't worry, we will use Case-sensitive designer)

»
8 years ago, # |
  Vote: I like it +51 Vote: I do not like it

Did any one get their tshirt?

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

    Same question. Neither t-shirt, nor prize.

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

      So, is there anybody who got their prizes now?

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

        I did :D

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

          I didn't get my prize yet T.T Is it only me who couldn't receive the prizes?

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

            Me either :(

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

              Finally I got my T-shirt today!.. but not the Ollie thing :p They received my address about a month ago, so I think I should wait for another 9 months to get the Ollie :D?

              • »
                »
                »
                »
                »
                »
                »
                »
                8 years ago, # ^ |
                  Vote: I like it 0 Vote: I do not like it

                I also got my T-shirt yesterday :)

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  8 years ago, # ^ |
                    Vote: I like it 0 Vote: I do not like it

                  I also received my T-shirt today. So nice :) Hope further T-shirts will have strange colors like this :)

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

                  6 months passed after I got an email about the prize, but I have no idea where the prize is. Is there anyone else who still couldn't get their prizes?

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

                  I still haven't received an ODK. I sent multiple reminder emails, and they stopped responding to those. Can someone help us here?

                  EDIT: This has been resolved and I received an ODK.

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

                  12 months passed after I got an email about the prize, but still I don't have any idea where the prize is. Is there anyone else who still couldn't get their prizes?

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

                  Continue the tradition

                  25 months passed after I got an email about the prize, but still I don't have any idea where the prize is. Is there anyone else who still couldn't get their prizes?