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

AlFlen's blog

By AlFlen, 4 years ago, translation, In English

Hello, Codeforces!

74TrAkToR and I are glad to invite you to our Codeforces Round 662 (Div. 2), which will be held at Aug/07/2020 17:35 (Moscow time). The round will be rated for all the participants with rating strictly less than 2100.

The problems were created and prepared by AlFlen and 74TrAkToR. We would also like to thank everyone who helped us a lot with round preparation.

On the round you will be asked to help main ponies from My Little Pony animated series (Fluttershy, Applejack, Twilight Sparkle, Pinkie Pie, Rarity, Rainbow Dash) and to solve 5 problems, one of which has two subtasks. You will have 2 hours to solve them.

Score distribution will be announced shortly before the round.

UPD: Score distribution: 500 — 1000 — 1500 — 1750 — (1500 + 1500)

UPD2: Editorial

We wish you good luck and high rating!

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

| Write comment?
»
4 years ago, # |
Rev. 3   Vote: I like it +119 Vote: I do not like it

As a tester, give me contribution, please:) UPD:( UPD1:)) Thanks you.

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

    Unrelated question: How to become a tester?
    I'm asking for real, not for gaining contribution. ;)

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

      Basically, testers are friends of the authors. Also, some testers are people with a lot of contribution.

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

        As we can see, people with negative contribuion can become testers too.

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

        Aahhh! I see.
        Going to google now "How to make friends in codeforces". ;__;

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

          For making friends in codeforces there is a star in the profile page next to the handle!

          More seriously, it is good to be a friend of the author IRL.

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

            LMAO, I know how to add friends in cf lol. By doing that how will the other person know I've added him as a friend.
            I was referring to getting in touch with contest hosters and problem setters.

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

        err I think you got it wrong.

        The reason testers have high contribution is because they gain contribution after being a well-reputed tester, not necessarily because they started with high contrib.Basically, testers gain contrib, so to say all testers need to start with high contribution is a logical fallacy.

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

      You can ask about it MikeMirzayanov or if you know problemsetters you can ask they.

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

      become tourist. then everyone will want you to test. the end.

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

    u dont have idea how ugly the question statements are and kind of worthless .

    Shittttiest contest ever

    writing this while contest in undergoing predict my frustation level..

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

      You can't even solve div3 problems. stop bashing.

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

        Yea i can see who is saying this the one having 12000 rank in prev div 2 contest .Keep up the good work .

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

          At least I was able to solve 3 problems in div3 round where you cheated.

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

            See how much spare time u do have checking on random peoples u wanna be one on one ping me we will talk there . Crybaby there is an iitian in the house

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

              What's the point of being an IITian if you still have to cheat?

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

                Maybe he is of reserved category, lol

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

                  Yeah i am if u are such a racist thiugh u should know in india caste discrimination is a crime .

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

                  Dude, you got the seat because of your caste. Why do you expect others to not call you a reserved category guy?

                  Deserving people sacrificed their seats so that you can study there.

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

                  sorry

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

                  thoufond
                  You know you can be punished under the provisions of the Scheduled Castes and Scheduled Tribes (Prevention of Atrocities) act, 1989?

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

              Bro!! It is a humble request .. Please don't lower the standards of IIT's in our country unless you are from reserved category(PS: then you took the seat of other deserved candidates due to some shitty political policies). If you are an IITian.. good for you but then if you need a tag on your shirt stating that.. sorry bro you don't deserve it. PS: I was deeply frustrated after reading your shitty comments and so had to write all of it.

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

            Does 'skipped' means that he cheated?

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

              Yes

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

                Ya ankit i respect your words but the thing is i submitted one of my friends solution coz i wasnt willing to go further in the contest as i got some work i heard somewhere that if you copy someones code the contest will be unrated thats all i did . And i dont know what is the point of this guy to just poke in my comment worthlessly out of nowhere kinda frustating already the contest was not up to the mark so thats all .. Anyways i feel bad about my prev comment :) thanks dude

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

                  yeah sure, you submitted for the 3 problems for it to be unrated and not for only one or two problems :)

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

            Thanks, you helped me find my food.

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

      It wasn't unreadable though..

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

    As a tester , were u able to understand the problems ?

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

    The Pretests of question number 2 should be strong. My code Passed pretests but failed after. I am just giving feedback and not complaining. It's real heartbreak to see that red written "System test fails"!

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

!

»
4 years ago, # |
  Vote: I like it +29 Vote: I do not like it

Why 6 ponies but 5 problems?

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

Nice pic for seek attraction!!

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

I feel old now ;)

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

I love watching "My Little Pony" cartoons, so I look forward to this contest!

But I am not a girl ;)

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

    Me too. It's great but seems not to have more stories :(

»
4 years ago, # |
  Vote: I like it -43 Vote: I do not like it

when a newbie like me see a contest has 5 problems, Oh no this means I will only solve 1 or 2 maximum :/

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

This cartoon is interesting and I hope the problems are short and interesting too!

»
4 years ago, # |
  Vote: I like it -34 Vote: I do not like it

As a participant , give me contribution .

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

What are all the possibilities when a contest submission gets "Skipped" ?

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

    All possibilities except when no one cheats.

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

      So if we ensure no one takes my code, it won't get skipped, is it?

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

        Yes, avoid using online IDEs like ideone, because if you forget to make the code private by any chance, anybody can access it. Also, you mustn't intentionally give your code to anyone.

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

          But how can anybody get ideone public links? The person has to share the link right?

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

            No, I guess it's available on the site only, something like recent public actions is available there.
            Actually it happened to me one time when I started CP and used ideone then. In a Codechef Lunchtime, after someday I got an email that my submission got plagiarised due to same code matching with 2 other person's submissions. When I took a look at their codes, their codes were clearly my code with some added unnecessary comments. At that time I came to know about this ideone public access thing.

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

              Currently, Ideone has removed the pubic link of recent submissions which may lead to a decrease in cheating on CP platforms via ideone.

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

                Ohh, I didn't know about that. Haven't used ideone for the last 4-5 months. Nice to hear it though.

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

    If your code matches with anyone...if you copy from other or someone copy from you...both of you guys's submissions will be skipped :3

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

Is series is available in YouTube :-)

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

Typo: Pinkie Pie is not Pinky Pie.

Also that's a good theme! (I am a brony)

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

    omg, I'm sorry... I fixed it by the way.

»
4 years ago, # |
  Vote: I like it -22 Vote: I do not like it

»
4 years ago, # |
  Vote: I like it +57 Vote: I do not like it

AlFlen If possible can you guys please add some kind of divider between the fairy tale and the problem statement so that people who are only interested in the problem statement can directly jump into it? no offense just a suggestion

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

    We tried to make statements rather short. The legend doesn't occupy a noticeable part of statements so I think it'll be comfortable enough for you to read and understand them.

»
4 years ago, # |
  Vote: I like it -15 Vote: I do not like it

one of which has two subtasks. That's interesting !!

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

The second pony from the left does codeforces rounds :GWagnwChinoWoah:

pic-selected-200806-2040-34

Orz

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

i dont like pony

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

Hope it will be queue free contest..

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

    Yeah, we don't want the system to stall.

»
4 years ago, # |
  Vote: I like it +57 Vote: I do not like it

My daughter loves My Little Pony, she should take care of this round...

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

    Parents are doing codeforces nowadays. Damn! Thats why I love codeforces

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

      from 5th standard Russian students to parents, from newbie to world top coders, you will get each category on codeforces. That makes competition more interesting.

»
4 years ago, # |
  Vote: I like it +23 Vote: I do not like it

Hi ainta!

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

    As a testers, I'm not a tester :)

»
4 years ago, # |
  Vote: I like it +69 Vote: I do not like it

To my disgust, I actually thought those ponies were standing on two of thier legs and I wondered what that third thing was.. figured it out now.

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

    I cant unsee it, it will haunt my dreams forever

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

I now must watch my little pony now to try to get a better score on this contest.

»
4 years ago, # |
  Vote: I like it +14 Vote: I do not like it

Woahh, it's so cute <3

»
4 years ago, # |
  Vote: I like it +23 Vote: I do not like it

NERD_MAX = Helping My Little Ponies on CF.

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

Oh god unfortunately I cannot participate in this My Little Pony round because something has come up. How do I unregister from a contest? I can't find it.

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

    Go to the number of participants link beside the contest and click it. There will be a cross symbol beside your name. Just click on it. Moreover, you can also not submit anything during the contest. It won't affect anything.

»
4 years ago, # |
  Vote: I like it +52 Vote: I do not like it

weird flex but ok

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

Never watched My Little Pony animated series but the contest seems interesting!!

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

Behind this cuteness, I believe there will be some dangerous problems. Best wishes to everyone. Go and be high rated ;)

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

    ofc there will be some dangerous problems if problemsetter is severe highschool girl from Chelyabinsk

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

bronies everywhere...XD

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

Will I be able to finally get my colour?

»
4 years ago, # |
  Vote: I like it +57 Vote: I do not like it

wow, a second My Little Pony contest since Codeforces Round 259 (Div. 1)!

»
4 years ago, # |
Rev. 3   Vote: I like it -8 Vote: I do not like it
Expecting a problem statement be like
»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

I didn't see Rust in the registration email. Is that a mistake or is Rust really not available for this round ?

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

What are the things hanging between the legs of the ponys'?

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

I didn't know sparkle is one of the main ponies. Thank you for this round, I'll be waiting for some nice puns.

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

Wow!

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

The background looks so...cute?

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

BINOD

»
4 years ago, # |
  Vote: I like it +34 Vote: I do not like it

Finally... a perfect excuse to join a rated round after nearly two years!

Oh, it's Div. 2 only...

»
4 years ago, # |
  Vote: I like it +14 Vote: I do not like it

As a pony , I'll participate :)

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

when will codeforces support swift language? Sadlly, So many languages have been added to codeforces but not swift. Swift is really a elegent, efficent modern language! Hope administrator support swift someday!

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

    when will codeforces support asm language? Sadlly, So many languages have been added to codeforces but not asm. asm is really a elegent, efficent modern language! Hope administrator support asm someday!

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

Are problems have been prepared on ponygon?

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

Participating in this round while I have an exam tomorrow feels like suiciding

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

    A lot of thanks broh, now I can waste my next weeks n weeks watching them <3 =D

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

I am scared, I am noob and don't want my ratings to fall now.

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

    Why worry? If ur rating drops, next time it'll be easier to raise them, never worry about that when participating in a contest.

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

Finally scrolling through a comment section where you can actually read the comments.

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

GL HF

»
4 years ago, # |
  Vote: I like it +22 Vote: I do not like it

Hey! Hello? Am I on the blogpost?

Well, guess what?

Yes, I am! And that's Awesome!

Problems setters, Pinkie loves you sooooooo much, too much that I want to throw a party!

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

Ready for contest!

»
4 years ago, # |
  Vote: I like it +128 Vote: I do not like it

I hate the story of problems! :(

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

    For real...

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

    This endless blah blah apple here flutterapple cakeapple there because fluttepie with cakeflutter there is only annoying. This is no fun.

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

    Yup the cringe level was just off the charts!

»
4 years ago, # |
  Vote: I like it +20 Vote: I do not like it

No offence to problem setters ,but i am unable to understand the question itself.

»
4 years ago, # |
  Vote: I like it +21 Vote: I do not like it

wtf the statements say?)

»
4 years ago, # |
  Vote: I like it +27 Vote: I do not like it

Horrible statements. I couldn't even understand what was asked.

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

Can I get my ratings back by nothing playing this round :(

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

    Yeah!! If you haven't submitted your solution even a single time, then you can leave the contest. There will be no change in your ratings!!

»
4 years ago, # |
  Vote: I like it +48 Vote: I do not like it

Is it an English Comprehension Contest?

»
4 years ago, # |
  Vote: I like it +67 Vote: I do not like it

Are we here to code or improve our vocabulary.Seems like its and Mock IELTS/TOEFL Tests.

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

    Even they have to make 2 announcements for writing the correct question!! But till now I am unable to understand what they are trying to convey in the first question.

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

      yea same with me...i cant understand how are the blocks kept..

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

      yeah even i guessed about the question and solved according to that

»
4 years ago, # |
  Vote: I like it +41 Vote: I do not like it

Poor statements!! I am unable to understand even the first question !!

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

There was no need to have a sooooooo long story, it would be better to have a more mathematical statement than a confusing long story.

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

The names of the characters were so complicated to keep track off and the long stories. Sorry but not a good contest.

»
4 years ago, # |
  Vote: I like it +123 Vote: I do not like it

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

    This isn't meant to offend anybody, I just posted it to make this very clear that problem statement is where one should give more time then framing story. No doubt problem statement could be better

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

This was just waste of time.... The problem statements were so confusing. Actually this contest was not of coding but english.

»
4 years ago, # |
  Vote: I like it +38 Vote: I do not like it

I dont care how pinky pie eats her patty cakes just tell me what I have to code for!

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

I hate the story of problems! :(

»
4 years ago, # |
  Vote: I like it +12 Vote: I do not like it

Not able to understand even first problem!

»
4 years ago, # |
  Vote: I like it +54 Vote: I do not like it

The statements should be simple. There is no need to always introduce a story in the problem. I am very disappointed after this contest.

»
4 years ago, # |
  Vote: I like it +25 Vote: I do not like it

Why the f*** do I have to see these DISGUSTING PONIES.

»
4 years ago, # |
  Vote: I like it +56 Vote: I do not like it

Why the fuck you want to include stories in problems, and these weird names- Rainbow dash, Flutter shy..... What do you think, by including stories, the round becomes interesting??

»
4 years ago, # |
  Vote: I like it +59 Vote: I do not like it

no more storyforces

»
4 years ago, # |
  Vote: I like it +92 Vote: I do not like it

How did all of the contest setters agreed to release these kind of statements?

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

Too much storytellings... Just give us simple statements please...

»
4 years ago, # |
  Vote: I like it +27 Vote: I do not like it

Contest in a nutshell: Read the stories and fall asleep. Setters be like.. Didn't understand the question? We did not want you to.

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

I don't like pony stories anymore.

»
4 years ago, # |
  Vote: I like it +31 Vote: I do not like it

It's really not that hard to write clear, concise statements.

»
4 years ago, # |
  Vote: I like it +32 Vote: I do not like it

It took so much time to understand problem A :-(

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

To the guy who designed the problem statements: Hats off! You've a tendency to play around with words and over-complicate easy to understand sentences.

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

I planned to watch My Little Pony when I was reading the announcement, but after this contest, I would say no.

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

How to solve A after the contest?

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

    Do not discuss problems while contest is running.

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

    n/2 + 1

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

      How?

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

        make an exemple for n=4 and n=5 on the paper.In the first step you can color the "1st layer" (near the border). In the second step the second layer and so on.In the n/2th step you will reach the mid layer (+1 for the center).

»
4 years ago, # |
  Vote: I like it +120 Vote: I do not like it

Am I taking an English examination?

»
4 years ago, # |
  Vote: I like it +190 Vote: I do not like it

The statements are too long and there are too many unnecessary(as I think) stories.

And there was even a typo in the statement of problem B. As you can see in the picture below, the two phrase "After the sixth event" came out incorrectly as "After the second event"(Only true for the latter). Although the typo was fixed after a while, there wasn't announcement about this. Moreover, I posted the comment similar to this about 1.5h before, but after about an hour, the comment was deleted for an unknown reason.

Why couldn't no one find the typo before the contest? Why there wasn't announcement about the typo? And why my previous comment disappeared? Not pretty good. :(

»
4 years ago, # |
  Vote: I like it +23 Vote: I do not like it

This round tested our English rather than our programming skills.

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

Just asking. Are the top rankers(in this round) even trying problem E1 lol

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

Now I got a reason to hate pony.

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

Was I the only one who found C way easier than B (At least on the implementation side)?

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

    For me the number of unpronounceable word in statements defines the hardness of problem.

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

Enough grid construction and heavy weight english word exercise for today. I quit.

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

How to solve D?

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

    Let $$$dp[i][j]$$$ denote the size of the largest rhombus with the bottom vertex located at $$$(i, j)$$$.

    Suppose the colours at $$$(i, j)$$$, $$$(i - 1, j - 1)$$$, $$$(i - 1, j)$$$ and $$$(i - 1, j + 1)$$$ are all the same, $$$dp[i][j] = min(dp[i - 1][j - 1], dp[i - 1][j], dp[i - 1][j + 1])$$$ + (1 if the vertex opposite to $$$(i, j)$$$ has the same colour as $$$(i, j)$$$)

    If the colours are not the same, $$$dp[i][j] = 1$$$

    Now, just iterate over all bottom vertices $$$(i, j)$$$ and count the number of rhombuses using the dp values.

    Code: https://codeforces.com/contest/1393/submission/89259501

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

      Wow, never got the idea using 1 dp. I got idea using 4 arrays. up, down, right, left.

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

        Recently watched a video of largest square in grid, and applied the same idea here

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

Why the fuck memory limit on D is 256 MB

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

    Because $$$30$$$ MB is enough.

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

      A dp from every corner so 4 matrix of 2000*2000 ? P.S. that s 4*16 mb so nevermind

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

    I thought 256 MB is a normal memory limit?

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

    No clue, but you can code the same solution by just considering for each character one at a time, doesn't change total time complexity anyway if you were planning on storing pref[26][n][m] or something similar.

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

    I agree. That and the tight time limit cost me a good 150 points and 20 minutes and it must have cost others points too. The constraints were way too tight.

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

      I have O(n * m * k) sol, where k is alphabet, and I'm getting TLE. Perhaps it was supposed to stop rotation or even force O(n * m), but seems v tight for little reason.

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

    I had done using only 2 2D array(one for input and other for DP). So, size is 2*2000*2000*4 bytes = 32MB.

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

Can somebody tell me the idea behind problem C? I tried like everything. Thanks in advance!

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

    Apply Binary Search MySolution

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

    the answer will depend on the maximum frequency of a number and count of maximum frequency. To notice that see that if max freq is 3 , it occurs twice , you can make ab...ab...ab , now just from this you can notice that ans would be (n-(mx)-(cnt-1))/(mx-1), as you need cnt — 1 spaces from the end and to populate mx freq you need mx spaces , out of remaining spaces you need to partition it in mx-1 segments like ab...ab...ab , which is optimal when we divide them equally or just division. Link — my solution

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

      but why only max frequency is considered?

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

        because numbers having frequency lesser than maximum frequency can always be adjusted in the middle without lessening min distance

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

        Because for other frequency we can insert them in empty spaces between those of max frequency and they won't come out of the array because they are strictly less than max, for ex — if 3 , 2 ,2 ,1 is freq array and numbers for them is a,b,c,d then there are 3 a's , we want maximize their separation first, so we equidistantly place them , so a...a..a, Now every value has freq<=2, which can be placed in each of empty spaces between these a's, so their min distance won't decreas

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

      I did the same.

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

      I used binary search to look for the solution. My solution passed the pretests but gave WA on test 43. I don't know where did I go wrong. Link to my solution: https://codeforces.com/submissions/i_m_eshaan17# Can you please see what thing I missed out

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

      Wow. Nice Solution.

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

    Look u have to find frequency of the number occuring most number of times. now find total how many numbers are there having this frequency int val=n-maximum_frequency-(count of numbers having maximum frequency -1) val/(maximum_frequency-1) will give the right answer .

    Let us see this with 2 different examples {1,2,3,1,2,5,1,2,8,1} Here the maximum frequency is 4 and the number having this frequency is 1 so we can see answer will be 2 Now lets take change the example a bit {1,2,2,1,2,5,1,2,8,1} Here the maximum frequency is 4 and the numbers having this frequency are 1 and 2 so now you can see the answer becomes 1 {1,2,1,2,5,1,2,8,1,2} can be one solution reason is that 1 has maximum frequency so we arrange array like 1....1....1...1 we put 1 at both ends to maximize the distance and put other elements between 1s but when 2 also has frequency 4, two 2s will start falling between two 1s(something like 1,2,2,1.... So,every time we encounter another number having maximum frequency we need to put it at last (something like {1,2,1,2,5,1,2,8,1,2}) Look at the first test case for a bit of clarification

»
4 years ago, # |
  Vote: I like it +5 Vote: I do not like it

Was it just me or did others find the wording of the first question a bit difficult as well?

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

Today I get to know why we were taught English first then programming.

Though the concept and problem idea is good, I suggest the Problem statements can be used for essay writing competitions.

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

I'm doubting my English skill after this contest

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

I solved C and still can't understand A

»
4 years ago, # |
  Vote: I like it +28 Vote: I do not like it

what is the pretest 5 of problem D?

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

    Pretest 5 cost me 2 WA, but it was my silly mistakes...

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

    Try this:

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

      The correct answer for that pretest is 26, right?

      Thats what my code is printing as well.

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

        I was able to fix my code for that problem.

        For those wondering, the pretest I used was

        tc

        However I believe maksio's test should provide an error as well. The only change needed is change it to a 5 * 5 matrix of a's

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

    I see you have done DP similar to me too. The issue in your code seems to be that you are wrong in up and down dp.

    You can see my code, bam is similar to left, dan is similar to right, up is dp1, down is dp2.

    Basically, c should be updated as 1+2*min(bam, dan) and and d should be up[i+1][j]+2, not 1.

»
4 years ago, # |
  Vote: I like it -18 Vote: I do not like it

Bye Bye rating

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

The problems were good but the wording of problem A messed up my tempo. Also the names of the characters (i assume names of ponies ) confused more from understanding the problem statement. I would recommand using some common and familiar english names.

»
4 years ago, # |
Rev. 8   Vote: I like it -70 Vote: I do not like it

image.jpg

No comment

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

    .

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

      Look she has a rating which is much higher than mine and I am gonna get about +120 after this round but seriously this contest could have been better and what the fuck are you even talking about

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

She confused the contest with the storybook

»
4 years ago, # |
  Vote: I like it +40 Vote: I do not like it

You can choose to become a writer rather than a contest designer

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

What is the correct approach for C??

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

    bsearch answer, then for each iteration, always greedily put down the number with the largest remaining frequency that is available.

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

      Can you please, share your check function?

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

          Where my check may fail

          Spoiler

          89275212

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

          can you plz plz check this function https://codeforces.com/contest/1393/submission/89275288

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

          can you please explain the logic?

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

      no need to use bs :v

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

        i mean sure, but for me it was easy to see a bsearch solution, and it fit in the TL.

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

    My approach:

    Count the frequencies of each unique element.

    Note that if there are multiple most frequent elements, you can discard all but one unique element. If both 1 and 2 appear as frequently as possible, you can just do 1 2 .. 1 2 .. 1 2. This reliably increases the distance between alike elements by 1.

    Note that the optimal arrangement for the most frequent element will always be 1 .. 1 .. 1 where 1 is the most frequent element, and you fill things in the middle.

    All remaining elements can be inserted into the ... spaces in some way (proof is left as an exercise). So we just count the number of how many things there are that aren't the most frequent, and divide by the number of spaces (the ...).

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

      What if the input is 112233. Optimum distance is 2 and it is achieved with 123123. But if we start with 1....1, then we can't get distance 2 anymore. The possible ways to fill the middle are 2233, 2323, 2332, 3223, 3232 and 3322, but they all fail.

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

        I mention that in the earlier case -- because they're all the max frequency, we can treat 1 2 3 ... 1 2 3 ... 1 2 3 like 1 ... 1 ... 1 and just add 2 to our final answer.

        You only need to fill things in the middle if their frequency is lower than the maximum, if they are the maximum you can handle them earlier.

        Final answer is the sum of all frequencies $$$< maxfreq$$$, divided by $$$maxfreq - 1$$$, plus the number of unique elements whose frequency is $$$maxfreq$$$, minus $$$1$$$.

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

    Binary search

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

Codeforces be like lets have a new member in the family : PonytaleForces !

»
4 years ago, # |
  Vote: I like it +42 Vote: I do not like it

storyforces

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

Lol what the heck was this contest

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

    It was a english grammer contest,this contest increased my english reading skills :XD

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

what's the idea in problem C

»
4 years ago, # |
  Vote: I like it -6 Vote: I do not like it

Kindergarten question designer is better for you

»
4 years ago, # |
  Vote: I like it +99 Vote: I do not like it

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

I saw this coming thats why I tried confirming it here , looks like they were joking back then.

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

Write stories if you want, but please at least give us formal definitions for the operations to be performed.

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

What is the approach to solve D?

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

    for each cell we calculate the number of ways to form a pattern with center is the cell.

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

    $$$up_{i,j}$$$ = Number of cell with same color above this cell
    $$$dn_{i,j}$$$ = Number of cell with same color below this cell
    $$$a_{i,j}$$$ = $$$min(up_{i,j},dn_{i,j})$$$
    $$$b_{i,j}$$$ = max size of left half of a rhombus centered in this cell
    $$$c_{i,j}$$$ = max size of right half of a rhombus centered in this cell
    $$$m_{i,j}$$$ = $$$min(b_{i,j},c_{i,j})$$$ = max size of a rhombus centered in this cell
    $$$ans$$$ = sum of all $$$m_{i,j}$$$

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

    Notice that all squares can be treated as a rhombus of size $$$ 1 $$$ and count them. After that remove all squares that can not be a center of a rhombus of size $$$ 2 $$$ add those left to the total number of rhombuses. Do this again for size $$$ 3 $$$ and so forth.

    How can this be done?

    Notice that a cell can not be the center of a rhombus of size $$$ n $$$ if there exists a cell of a different color such that the Manhattan distance between the two cells is less than $$$ n $$$.

    Using this fact we can implement a multi-source BFS from all cells which have different colored neighbors and in each round count the number of cells that are not visited. (Be aware that the memory and time limits are quite tight).

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

      Interesting point of view. Is it $$$O(nm)$$$?

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

        Yes, because this solution is almost only BFS and the graph that the BFS is run on contains $$$ nm $$$ nodes and about $$$ 4nm $$$ edges. Therefore the complexity is $$$ O(nm + 4nm) = O(nm) $$$.

        However the constant factors are quite large and I lost a good $$$ 20 $$$ minutes and $$$ 150 $$$ points (due to submissions) trying to optimize them. IMO the limits are way to tough and a solution with the expected complexity should pass immediately.

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

It's a competition where I've got the best result I hope I won't be hacked

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

When will the Editorial be published?

By the way, the contest you prepared was great!

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

My video editorial for Problem A and Problem C

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

    why we can not paint 4*4 grid in two step

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

      Because after two steps not all fields are painted.

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

        why we can not paint cell (1,1),(1,3),(2,2),(2,4),(3,1),(3,3),(4,2) and (4,4) with one color in first step and all remaining cell with other color in second step

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

          We want to have chessboard as result. So first is (1,1),(1,3),(1,5).... on all four sides.

          Second is the fields in between of the ones from first, and every second fields of row/col 2,n-2. And so on.

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

          You can't paint (2,2) in the first step, as it is not neighbouring to the last painted cell, Read the question statement again you missed this point.

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

    why only the elements with max count are required?

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

      If you try to spread the elements across the array the ones with max count would end up closest.

      Lets say freq of max element is 5 then u have X__X__X__X__X and u can place all elements of lower freq in different spaces so they will be atleast as far as a pair of X.

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

      Because we are essentially dividing the array into groups right? So for the element which has max frequency n/(fr[x]) element will be minimum hence the least spacing

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

Where I am wrong in Problem B!, I just counted number of active planks , with updating frequency table for each plank entry as entry and exit happens and also in this frequency table maintaining the maximum value and number of odd and even values, now the answer is YES only when maximum value in frequency table >=4 and also total planks %4==0 and no odd frequency is there in the frequency table else answer is always no.?

Where I am not getting problem statement please tell my mistake!

Thanks in advance.

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

    You have to make only 2 storage.

    You only need planks (a,a,a,a) and (b,b,c,c). {here a,b,c are sizes of planks}.

    In total you need just 8 planks.

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

      This is nice explanation. Knowing that the problem statement is understandable, too.

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

      Thanks I think that I misunderstood the problem as in total we can more than one rectangle and square storages, confused with the word storages in the problem statement. Thus just one change of making count to 8 will make my solution pass, I dont know what is the sense of such problem statements and what they checked. Facepalm after losing 120 Rating again I gave the contest today as my mood was bad and I thought of freshing up my mood but Now I cant describe to what scale the statements worsened my mood again.

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

        Did you read the announcement? I did exactly the same as you before reading it and it cost me 3 WA's and half an hour. :(

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

    I didn't do well in this contest but could solve B.

    Here is the way I did it, keep 4 sets (two, four, six, eight) two => freq[2, 4) four => freq[4, 6) six => freq[6, 8) eight => freq[8, inf)

    Now as queries come, these tables can be updated on the fly in somewhat O(logn)

    You can build when

    8 has >0 members (2 squares)

    6 / 4 has >1 members (2 squares)

    6 has >0 members and 4/2 has >0 members (1 square, 1 rectangle)

    4 has >0 members and 2 has >1 members (1 square, 1 rectangle)

    the overall complexity is O(nlogn + qlogn)

    You are basically missing lots of cases and also not all planks are required to be used, so the %4 check is completely incorrect

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

    You can do it with much more simplicity. Just maintain a map to count the frequency of each element. Now take an array of sets with size 2 : set<ll> cnt[2].
    In the 0th position, insert those elements whose freq is >=2
    In the 1st position, insert those elements whose freq is >=4

    Now, for each query do the following:
    If we need to add/remove something, update both frequency map and the array of sets (check the count and see if we need to remove or insert something in O(log N).
    And to get "Yes/No" we have 3 cases :
    1. If cnt[1].size() >=2 -> YES (we have 2 squares feasible)
    2. If cnt[1].size() ==1
    a. If the freq of the element is >=8 -> YES (we have 2 squares feasible)
    b. Otherwise, see if you can construct 1 square and 1 rectangle by checking the size of cnt[0].
    3. The answer is NO.

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

    if we have 4 planks of length 1 and 2 planks of 2 and 4 planks of size 3. so total no of planks is 10(toatal planks %4!=0) so it will give no according to your code. But ans is yes

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

      I think I misunderstood it as all planks must be used too bad mood today thanks buddy for figuring it out!

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

I thought C problem was easier as compared to the B problem or did I overcomplicated my problem B solution?

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

Can anyone plz tell me why getting WA on C https://codeforces.com/contest/1393/submission/89275288
i m using binary search to find the answer in binary search i m putting the no.s with greatest count first then the no.s with smaller count can anyone plz have a look

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

Was there any edge case in B.I tried every possible combination still it gives wrong answer on Pretest 5.

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

Really a lengthy and messy one , please keep to the point questions

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

Can someone please help me to figure out this issue. This was my cf submission 89275621 but in local PC my answer as was different.

#include <bits/stdc++.h>

using namespace std;

const int N = 100005;
int B[N];

int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    for (int &i : B) i = 0;

    int t, x, n;
    cin >> t;
    for (int i = 0; i < t; i++) {
        cin >> x;
        B[x]++;
    }

    cin >> n;
    while (n--) {
        char c[2];
        cin >> c[0] >> c[1];
        if (c[0] == '+') {
            B[c[1] - '0']++;
        } else {
            B[c[1] - '0']--;
        }

        vector<int> A;
        for (int &i:B) {
            if (i != 0) A.emplace_back(i);
        }

        sort(A.begin(), A.end(), greater<int>());
        bool ok = false;
        if (A[0] >= 8) ok = true;
        else if (A[0] >= 6 && A[1] >= 2) ok = true;
        else if (A[0] >= 4 && A[1] >= 2 && A[2] >= 2) ok = true;
        else if (A[0] >= 4 && A[1] >= 4) ok = true;

        if (ok) cout << "YES\n";
        else cout << "NO\n";

    }

    return 0;
}
  • »
    »
    4 years ago, # ^ |
      Vote: I like it +1 Vote: I do not like it

    Your go out of bounds on your A vector (you can start with only 1 type of plank).

»
4 years ago, # |
  Vote: I like it -7 Vote: I do not like it

can someone tell what was the pretest 4 in problem B ??

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

why only the no. with max count are required to find ans in C?

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

    _pastor_

    Hope this helps
»
4 years ago, # |
  Vote: I like it +76 Vote: I do not like it

So it was a right decision to leave the contest after reading the first problem. XD

»
4 years ago, # |
  Vote: I like it +5 Vote: I do not like it

I appreciate the problems, but does anyone find that it was more unnecessary story, and had lots of ambiguity, specially problem B ?

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

Hoping to see Editorial without ponies.

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

Story forced me read the examples and guess the problem.

»
4 years ago, # |
Rev. 2   Vote: I like it +14 Vote: I do not like it
  1. Short and concise problem statements X
  2. NO BACKGROUND STORIES X
  3. Useful samples X
  4. Super interesting problems X Only thing which was there — Ponies Ponies Ponies
»
4 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Problem D is very similar to this 1015E2 - Stars Drawing (Hard Edition)

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

    I remembered that problem too, and I actually got a WA in contest because I implemented biggest star instead of biggest rhombus :P

    (surprisingly, biggest star passes all sample tests)

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

      biggest rhombus can be checked using 4 adjacent square values.

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

        Yeah, that seems to be the simplest way after scanning through the comments.

        I did eventually manage to pass pretests, but I did something a lot more complicated (2D prefix sums rotated 45 degrees).

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

          I thought about rotating the grid at some point. I have a bad habit of over complicating things.

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

    Also similar to https://www.urionlinejudge.com.br/repository/UOJ_1511_en.html,

    we can use binary search here, and replace all the characters with prime number, so if gcd is 1 checking condition is false look for smaller manhattan distance, else if gcd == centre value, look for larger manhattan distance.

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

Was E dp by sorting for each char's disappearance and using hashing for fast string comparison?

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

    I tried that, but got memory limit exceeded

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

      you have saved strings multiple times which can be avoided by just storing only the index of removed character and comparing like this if you want to compare x removed index and y removed index of a string say x<y so compare s[x] to next char in string different from s[x] i am not sure tho :\

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

        That makes sense, maybe I will try implementing that later.

        I was thinking maybe using a Trie will probably also work.

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

hey, did someone pass B pretests using hashing ?

I used unordered_map in c++ to quickly update and query planks' count. But I ve got TLE on pretest 4 even if my program complexity is q^2.

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

    Q was given to be <= 1e5 so yeah, it is gonna give TLE for complexity O(q*q)

»
4 years ago, # |
  Vote: I like it +80 Vote: I do not like it

Please stop writing problems like E

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

    Can you explain your solution for E1, E2?

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

      I'm lazy to write it, this is almost my sol by dorijanlendvaj

      dp[i][j]=amount of solutions if you remove index j of string i looking at strings<=i add a space at the end of each string for each string you can sort indexes by the substring you get when you remove that index(how is left as an exercise to the reader, you can compare 2 substrings of 2 strings in log with hashing you can also compare (string x without index i) and (string y without index j) using 3 substring comparisons now you can do 2 pointers on the sorted indexes on this string and the previous strings to find which dp values of the previous string to add to the dp values of the current string

      I got tle on system tests because I did everything with extra log, here is the same sol in C++17(64) :)

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

How were we supposed to do B? I finished this ridiculous method of using a python dictionary which maps to nodes in a balanced binary search tree right after the contest ended, but I'm 100% sure this can't be the solution to a problem which is B.

https://gist.github.com/bananabrick/a3676673ab072c1e6fe4fb3852ecbdff

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

    I also used python. I used a counter to count how many of each plank there are. I also made 4 sets, for counts cnt>=8, 6<=cnt<8, 4<=cnt<6, and 2<=cnt<4. Update these sets as expected for every updated plank. To get the answer, check all possibilities that make a square and rectangle, such as any one plank cnt >= 8, or on plank cnt>=4 and 2 planks cnt >= 2, etc. There are a few other possibilities, and I think there might’ve been a better way to organize them, but this way worked after a couple tries.

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

    From a mental health standpoint, the best approach for problem B is to give up.

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

    My solution for B on c++, it only uses an array of frequency and 4 integers, i think is pretty self explanatory, but ask if you need extra comments on the code D:

    Spoiler
»
4 years ago, # |
  Vote: I like it +110 Vote: I do not like it

I read the statements to my younger cousin, he enjoyed the round! Thanks StoryForces! :D

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

Thanks for the good questions from the authors, but the topic is a bit long. A disappointing round. In question b, I don't know how to extract the last three elements in the stl map. I used a search engine, but I did not find any useful information. So I keep trying. After trying for a long time, I finally figured out how to do it. after I pass b, it has only been 20 minutes. When I came up with the algorithm of c and wanted to start writing, the game was over. I don't know how to describe myself, it's disappointing. The only gain is to be familiar with the use of map.

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

    since all x's are < 1e5 map can be replaced with an array

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

      I know how to solve this problem with arrays now. So try to use things you are familiar with during the game, and learn more about things you are not familiar with at other times

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

Ponyforces

»
4 years ago, # |
  Vote: I like it +11 Vote: I do not like it

How to solve E1 & E2?

»
4 years ago, # |
  Vote: I like it -69 Vote: I do not like it

Problem B i feel like i did everything right yet it gives wrong answer on Pretest 2 :/

public static void main(String[] args) throws IOException
	{
		FastScanner sc = new FastScanner();
		PrintWriter pw = new PrintWriter(System.out);
		//long startTime = System.nanoTime();
		int num = sc.nextInt();
		HashMap<Integer, Integer> planks = new HashMap<>();
		ArrayList<Integer> doubles = new ArrayList<>();
		ArrayList<Integer> fours = new ArrayList<>();
		int maxVal = 0;
		int max = 0;
		int secondKey = 0;
		int secondMax = 0;
		
		for (int i = 0; i < num; i++)
		{
			int val = sc.nextInt();
			if (planks.containsKey(val))
			{
				int p = planks.get(val) + 1;
				if (p == 2)
				{
					doubles.add(val);
				}
				if (p == 4)
				{
					fours.add(val);
				}
				if (p > max)
				{
					max = p;
					maxVal = val;
				}
				else if (p > secondMax)
				{
					secondMax = p;
					secondKey = val;
				}
				planks.put(val, p);
			}
			else
			{
				planks.put(val, 1);
			}

		}
		int events = sc.nextInt();
		for (int i = 0; i < events; i++)
		{
			String op = sc.next();
			if (op.equals("+"))
			{
				int val = sc.nextInt();
				if (planks.containsKey(val))
				{
					int p = planks.get(val) + 1;
					if (p == 2)
					{
						doubles.add(val);
					}
					if (p == 4)
					{
						fours.add(val);
					}
					if (p > max)
					{
						max = p;
						maxVal = val;
					}
					else if (p > secondMax)
					{
						secondMax = p;
						secondKey = val;
					}
					planks.put(val, p);
				}
				else
				{
					planks.put(val, 1);
				}

			}
			else if (op.equals("-"))
			{
				int val = sc.nextInt();
				if (planks.get(val) > 1)
				{
					int p = planks.get(val) - 1;
					if (p == 1)
					{
						doubles.remove(new Integer(val));
					}
					if (p == 3)
					{
						fours.remove(new Integer(val));
					}
					if (maxVal == val)
					{
						if (secondMax > p)
						{
							max = secondMax;
							secondMax = p;
							maxVal = secondKey;
							secondKey = val;
						}
						else
						{
							max = p;
						}
					}
					planks.put(val, p);
				}
				else
				{
					planks.remove(val);
				}
			}
			if (max >= 4)
			{
				if (doubles.size() > 2)
				{
					pw.println("YES");
				}
				else if (doubles.size() == 2 && max >= 6)
				{
					pw.println("YES");
				}
				else if (fours.size() >= 2)
				{
					pw.println("YES");
				}
				else if (max >= 8)
				{
					pw.println("YES");
				}
				else 
				{
					pw.println("NO");
				}
			}
			else
			{
				pw.println("NO");
			}
			
		}
		//long elapsedTime = System.nanoTime() - startTime;
		//pw.println(elapsedTime/1000000);
		pw.close();
		
	}

Anyone have a Java solution that worked for Problem B?

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

    To be honest,you really need implementation skills.

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

      can you explain how I can improve my implementation skills? I'm very new to CP and don't really know what that means.

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

        Inspect the code for this problem written by top 10 in ranking. You will be surprised how simple the code can look.

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

    You can check mine 89249695

»
4 years ago, # |
  Vote: I like it +14 Vote: I do not like it

Language could have been simpler and question could have been without the long and unnecessary stories. This would have made the questions and round much more interesting.

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

Not just the story and problem statements, but the test cases were not helpful too. I keep getting WA on B (Test case 2) and more sample test cases will definitely help.

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

    First, i think we can glue two planks..

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

    What exactly can be difficult to understand in B? Or do you want sample test cases to contain all edge cases?

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

      It can be difficult to understand until we read the announcement. That's not cool

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

Good! story reading contest at codeforces

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

statements are so long ...

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

This contest was quite in favour of good English readers with great vocabulary.

Something which was not expected in codeforces.

»
4 years ago, # |
  Vote: I like it +21 Vote: I do not like it

Thanks for the free IELTS test.

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

The golang solution of A is wrong unexpectedly

It is too simple to program wrong

Anyone can help me ?

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

Problem D can be solved by BFS.
key observation: At one position, the largest diamond is the distance to nearest different alphabet.
my submission

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

    But i got TL on test70 :(
    Maybe log factor of storing input into map caused TL?? argh...

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

      You can't run BFS at all positions, that would be quadratic in the number of vertices (which in this case can be $$$10^6$$$).

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

        We can do BFS on each alphabet, and start BFS with the edge ones(maybe call this multi-source bfs?). Then we get distances of all that alphabets, and the total time complexity become amortized O(nm). accepted code

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

AlFlen The Problem Statement for A was very confusing. Is there a possibility to dis-consider all the penalties until the explanations were provided?

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

    Sorry, I don't think it can be done. I think I have chosen a little of a wrong way to explain what is needed in task A. Accept my apologies.

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

      Also from next time while setting a contest, please use simple english.

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

      It's okay I guess.

      Anyways, Loved the Problemset!

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

      Please explain how to start in task A initially. It only seems like n-1 as answer.

»
4 years ago, # |
  Vote: I like it +82 Vote: I do not like it

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

Can anyone tell me why my solution for B using gave TLE LINK? I changed my whole implementation beacuse of this.

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

why i am getting wrong answer in pretest 2 problem B..

89271877 my logic

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

    if there is a plank 1 plank with fre>=4 and 3 plank with frequency more than 2 than answer is yes

    I think in this pt. we only need 2 plank whose freq is greater than 2

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

      it should be 3 becoz the plank whose fre is more than 4 also has freq more than 2

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

        while you are decreasing planks of count <4 you are decreasing mapa2[3]--,it should be mapa2[4]--.

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

Great contest! I've enjoyed it, even though, as always, I've spent lots of time with silly errors. Looking for other player's solutions, I came into a program with a swastika commented in the first lines. Looking for other solutions of the same user, I saw that was a constant. The player is OuDaRjA_17o3oo2, and I think he should be banned. Do you know how I could report it?

Many thanks in advance.

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

    OuDaRjA_17o3oo2 has commented a sauvastika and not a swastika. It's a holy symbol in Buddhism and Hinduism

    I assume you read it as the Nazi Symbol(which may very well be the case). However, I would urge you to please look up the meaning of swastik and sauvastika in Hinduism and Buddhism.

    I would give him the benefit of doubt rather than jumping on conclusions.

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

      I didn't know the meaning of this symbol. You are right, I confused it, I apologize.

      Thanks

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

      It still looks wired.

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

I have a dream!

One day I'll make a div2 round.
There will be no stories in problems!

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

Nice Problem, but A and B were hard to read for me T_T

»
4 years ago, # |
  Vote: I like it +29 Vote: I do not like it

My screencast, where you can see video explanations for A-D, watch me fail to rotate a square by 45 degrees, and see me struggle on literally every problem except for C, all in 720p!

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

    Bro, it will be great help if you make tutorial videos for E1 and E2 also.

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

      I don't know how to do them :(

      My general idea for E(1) was $$$dp[i][j]$$$ where $$$i$$$ is the string you're at and you removed the $$$j$$$-th character from the last one. But I don't know how to speed up the transitions, even to just $$$O(|s_i|^2)$$$.

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

        Yeah, I think of the same but it will give TLE.

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

        I was thinking about something like this to optimize with prefix sum on sorted(wrt lexographical order) dp[i-1] to calculate dp[i][j] faster.

»
4 years ago, # |
  Vote: I like it +23 Vote: I do not like it

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

    hey, why do you think the round is bad-balanced? as I can judge by the number of people who solved each task, the balance is nice. also most testers did not find any problems boring

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

      "also most testers did not find any problems boring" I guess you're talking about A-D maybe

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

      one can see how many announcements the team has to just make problem statements clear.

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

        it has no connection with problems' interestingness and balance though.

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

          The problems were good but could have been more concise and clear.

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

How to do E?

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

Unclear Problem Statements + Weak Pretests.

Disappointing!

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

My video solutions to problems (A-D).

I hope you will learn something new. Enjoy watching.

https://youtu.be/NMbqtVdVZqI

»
4 years ago, # |
  Vote: I like it +5 Vote: I do not like it

For a moment lets ignore story in A

All the problems were good coding problems rather than some mathsy problems. Felt like div 1.5 as E1 was only done by 2 official participants and E2 by none D problem was my favourite one

»
4 years ago, # |
  Vote: I like it +103 Vote: I do not like it

I'm excited that there are 62 people fail system test because of my hack tests of problem C :p (test 62,63)

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

That's why sometimes for Problem A I prefer analyzing test cases rather than reading those massive story lines :3 I was just scrolling and the story continuing :3

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

89276784 Can someone please explain where I'm going wrong? EDIT: Never mind.

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

The memory limit on problem D is evil :(

I thought i'd reach 1900 again but, well test 70 had another idea.

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

    I totally agree with you. A solution which is same approach with me passed by 982ms and 200MB, I got TL on 70. The difference between my solution and that one is long long and short, and I've used map<char, vector<ll,ll>> to store input. I think it's unreasonable constraint which give TL to the solution that's complexity is O(NMlog(26)+MN*4), eventhough jury's solution complexity is O(NM). What an unlucky round :(

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

Maybe the authors could have written a formal description of the problem at the end of each problem statement

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

.

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

    That's not a valid testcase: The problem statement guarantees that there will be at least two copies of one value.

»
4 years ago, # |
  Vote: I like it +218 Vote: I do not like it

Stories are fine, writing wrong problem statements is not.

In problem E it is mentioned several times that we have to calculate number of possible original scrolls. But actually we have to calculate how many ways there are to choose letters to erase.

For example, on test

1
aaa

"correct" answer is 4 because you can delete nothing (1 way) or delete one of the a (3 ways). But there are only 2 possible original scrolls.

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

    yes, you're right. it was clearly mentioned in output section only.

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

      Clearly? Nothing clear about that sentence

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

        Print one integer: the number of ways to get a version of the original from the scroll modulo 10^9+7.

        It does not ask you about the number of versions but about the number of ways to get it.

        I could have made it clearer I suppose. My bad

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

          That's amazing that you put it to output section, but let's take a look at the problem statements:

          To not let the important knowledge slip by Twilight has to look through all variants of the original scroll and find the required one. To estimate the maximum time Twilight may spend on the work she needs to know the number of variants she has to look through.

          In other words statements tells you: we need to look through all the original scrolls and find number of variants of those.

          More of that, in Russian version we see same wrong statement. So whoever translated the problem, clearly understood it same way as I, which was wrong.

          More of that, there were no sample explanation, which probably could show the correct way as well.

          So it is not "made it clearer", it is "made it correct".

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

          That would be clear if you explained what ways are different. Should I account for the order in which letters are erased?

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

    I noticed this during the contest when looking at sample input 2 (thankfully quite a bit before starting to write any code), and was a bit confused/disappointed that (at the 90-minute-mark) there had not already been an announcement about this miscommunication. At least my clarification request was answered quickly.

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

      I noticed this during the contest when my code output 4, I looked at dp values and went "yep, that's correct answer", then reread the statement and went "yep, it is mentioned several times".

      Samples are part of the statement, of course, but it's not like it is clear by looking at the test what is the answer. It would be ok-ish if there were a sample like the one I mentioned which is so simple that it should be clear what is the right answer. And of course there shouldn't be any places in the statement with clearly wrong meaning. One thing is to have unclear statement, but it's different to have clearly written wrong things.

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

I am new at codeforces, which blogs can help me with the various information about the site and how should I get started?

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

Is there a way to find out the distribution of ratings, or in general, an up-to-date ratings post? I see that the “Help” section has a rating section, but that seems outdated.

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

IMO, I really enjoyed this contest... sad thing is that I figured out problem B and C after the contest...

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

can someone tell me why my solution of problem B wrong ? It failed on test 11 which is very large.

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

    what was the test 11? my code is also failing in test 11

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

      Size of plank need not to be less than $$$n$$$ , it can be anywhere between $$$1$$$ and $$$1e5$$$. I went through your code and probably that is the mistake . Your accepted code.

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

Very fast ABC + using different templates + using printf and cout in different problems

Was it a team solving?

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

    Or just a person with bipolar disorder :)

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

    Maybe you are right,but this kind of plagiarism is hard to verify.

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

    Macros differ. Also the tab-size on A&B differs from tab-size on C&D. Idk is this some type of evidence.

»
4 years ago, # |
  Vote: I like it +73 Vote: I do not like it

I have a request to all. Please don't make fun or roast authors on any issue. Just kindly convey your message to them. These contests are for practice so try to learn as much as you can rather than abusing it.

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

https://codeforces.com/contest/1393/submission/89280374

why is this solution taking so long in time.

as i only used static array and linear code.? plus no dynamic objects.

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

    add ios::sync_with_stdio(false) on the begining and try again

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

    Man, you seriously need to change your variable names

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

      are they illegal?

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

        Not illegal, but definitely confusing for others when they read your code.

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

          i don't think so,

          it so convient except countOf1, countOf2 am using _1 , _2. isn't that easiear and faster to type?

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

            The code in competitive programming is optimized for the writer than for the reader.

            This is obviously quite different in software engineering, where you should optimize it for the reader, since many engineers will need to read/understand your code, and some might need to read/understand it in under time pressure to solve a real production issues.

            The above variable naming critique does not apply as long as you are disciplined enough that in "real-life programs" you do not (even try to) use them :).

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

Didn't find much ponies, but okay :P

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

would somebody please tell me why i am getting tle on the 11th test case of problem B My submission for the above mentioned question https://codeforces.com/contest/1393/submission/89281935 Thank you in advance

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

    ya its done !!

    Figured out it was a silly mistake!!

    cost me a lot though

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

pls help me with problem c, I used binary search in my code I am trying to get maximum distance up to which we do not any issue in allocating , here is the link to the code. https://codeforces.com/contest/1393/submission/89284370

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

Can anyone tell me my mistake in problem B?

I am counting all pairs of planks that can be used for making rectangles and then checking if those pairs are at least 4. But it gave WA on test 4.

My submission

Sorry for my English.

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

    What if there is a situation where there are , 2 planks of type 1, 2 planks of type 2, 2 planks of type 3 and 2 planks of type 4 , your code will give the output "YES" , but the answer will be "NO" , cause you can't make a square.

»
4 years ago, # |
  Vote: I like it +12 Vote: I do not like it

When will the ratings change?

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

If anyone need Detail explanation( not a video tutorial) of B & C

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

can anyone look at what's wrong with my solution for problem D?

my approach:

  • u[i][j] Number of cells with the same color above this cell

  • d[i][j] Number of cells with the same color below this cell

  • l[i][j] Number of cells with the same color to the left of this cell

  • r[i][j] Number of cells with the same color to the right of this cell

I find these 4 matrices for each character ('a' — 'z') then for each cell I added this

                int len = min(l[i][j - 1], min(r[i][j + 1], min(d[i - 1][j], u[i + 1][j])));
                ans += (len + 1LL);

to the answer considering rhombus is centered at (i, j).

https://codeforces.com/contest/1393/submission/89271632

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

i know it doesn't matter , but here is sad story:- I submitted "C" 17 seconds before the contest ended , Got wrong answer in testcase 1, I was clearing my count array upto n, wasn't clearing the last counter. Legit the only difference between my accepted code and the unaccepted one is i<n and i<=n.89277176 89280405 I am consistently getting minus in the last 4-5 contest, today this happens, man this feeling sucks.

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

    well i don't think anyone can help, you are not in a school where teacher can be linient.

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

      I know , just sharing the story, just to feel lighter that's all

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

        Yeah i know how bad it can feel, get off the PC for better.

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

A Greedy Solution for problem C:

Sort all elements by its frequency (name it to array A).

Let m is the max frequency.

Initialize array B of m empty arrays.

So the i-th of A is added to the (i%m)-th array B.

The answer is size(B[m-1])-1

My Code: 89285457

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

Is it just me or, did the explanation of the example test case given in problem statement B change during the contest? After the second event Applejack can build a rectangular storage using planks with lengths 2, 2, 2, 2 and a square storage using planks with lengths 1, 1, 1, 1. became=> After the sixth event Applejack can build a rectangular storage using planks with lengths 2, 2, 2, 2 and a square storage using planks with lengths 1, 1, 1, 1. I ended up wasting a lot of time, trying to make the explanation of the test case make sense to me, but I was not able to! Given that the language of the problems were not clear this time, I thought I was committing a blunder in reading the statement! But, apparently, when I click on the problem statement now, it seems perfectly fine! Did that change during the contest, or am I tripping? The questions were pretty great though, even though I could not even solve one :P

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

    I asked for that, and then they changed it. But they should have given an announcement after this change.

»
4 years ago, # |
  Vote: I like it +69 Vote: I do not like it

300iq is a serious simp to not reject these shitty statements.

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

    From my point of view the problems where pretty interesting, once understood. It's a shame they were ruined so badly.

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

      I'd agree. The questions (especially problem C) were really nice. However, the problem statements were so overcomplicated with character stories, and the information (needed for solving the problems) was hidden within the stories, which made it slightly uncomfortable for us to solve.

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

    Maybe he's playing the long game, hoping that bad problems will discourage competition, so he can sit on his LGM throne. I call everyone here to join me in the revolution against our tyranical coordinators!

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

      Your problem statements are the best! Short, and cute.

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

what is the reason for time limit exceeded in my code for problem B ?? link

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

    In the $$$34^{th}$$$ line, add the condition: if(cnt[x] != 0)

    After adding this, your code worked on my computer.

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

      Thank You
      I totally missed out this condition

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

        No problem mate.

        So did I, until making below lines comment (with /* */) to figure out what the wrong is.

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

Why ratings aren't updated yet?

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

.

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

How to solve problem C using Binary search ?

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

    l = 0, r = n-2 (minimum answer and max answer) and now simulate to find out if "mid" distance can be obtained.
    update r and l accordingly.

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

      How do you simulate?

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

        maintain a bool array, where you start placing 1 at positions which are to have a number. i.e if the numbers are 1 2 2 3, and you are at mid = 1, you will start with numbers with highest frequency and go till the lowest one.

        it = 0 (starting position)

        you placed 2 at 0, bool[0] = 1

        it = it + mid + 1;

        it = 2 you placed 2 at 2, bool[2] = 1

        and so on.

        so you have to also keep in check the first non allotted position for it. that way you place all the elements and traverse only once. binary search takes logn, hence complexity is nlogn.

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

          What do you do after?

          For example this test case 1 1 1 2 2 3 3 4 4 and mid = 2

          I think that there are some details that I'm not getting

          I understand that you have 0 0 0 0 0 0 0 0 0 Then with 1: 1 0 0 1 0 0 1 0 0 Then with 2: 1 1 0 1 1 0 1 0 0 But what to do after to avoid having 1 1 1 1 1 1 1 0 0

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

            I don't think you need to avoid 1 1 1 1 1 1 1 0 0 . After you have got 1 1 1 1 1 1 1 0 0 this means answer exists . We can do following : first keep element of greatest frequency (say 'mx') at distance of 'mid' and then go to second number (note they are sorted in order of decreasing frequency) and fill max(f2,mx-1) where f2 is frequency of second number. For 4,4,4,3,3,2,5 and mid = 2 , it will be 4 3 2 4 3 5 4 . In bool array it will be 1 1 1 1 1 1 1 . Hence we can return true . If it was sort of 1 0 1 1 1 1 1 we would have returned false.Am i correct PatronSaint

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

          I am getting WA on test 44 can you please point out my mistake. solution I used binary search and filled bool array with only most frequent numbers

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

            I don't really understand how your check function is meant to work, so I don't know what exactly it does wrong, but I was able to construct a relatively small test case where your program gives the wrong answer. Happy debugging!

            Input:

            1
            24
            1 1 1 1 2 2 2 2 3 3 3 3 4 4 4 4 5 5 5 5 6 6 6 6
            
            

            (The correct output is 5; your program prints 0.)

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

can any one help me with problem D

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

A blog, that was written got removed by the author, and it spoke about weak test cases in problem B. The submission here 89257174 fails on the following test case :

12 
1 1 1 1 2 2 2 2 3 3 3 3 
1 
+ 10

which should output "YES", as you can see that there are 3 squares possible, but the submission outputs "NO". If this is the case perhaps we might need to rejudge the submissions.

Spoiler

UPD: The blog has been reposted. Kindly look into this.

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

Personally dont think that statements were overcomplicated or difficult to understand. I believe that having less story in the statements would mean having no story at all

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

Problem C, For the below test case, how to arrange the numbers? The distance between each of the same numbers have to be strictly x. Right?

10

4 4 3 2 4 1 3 4 1 2

Answer for above test case is 2.

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

    The distance has to be AT LEAST x.

    One way is 4 3 2 4 1 3 4 1 2 4.

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

      If it's AT LEAST x, then I agree. But, can you kindly point out "AT LEAST" in the problem statement? I read "strictly"(but now that you're saying, strictly was for the smallest greatest distance).

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

        I agree the problem statements were confusing sometimes, but this problem did say "greatest minimum distance". Since the distance is minimum, every other distance is at least as big.

        The only place "strictly" appears is in "strictly between the two cakes" — that just means that you don't count the endpoints, only the cakes in between.

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

Really liked the round! Fun problems and good statements, I had a good time participating.

Looking forward for the next pony round!

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

Please upload the editorial of this contest!!

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

Just my opinion -> Problem statements could have been little clear.

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

I didn't understand question A. Please tell me how to start filling blocks initially. Thanks a lot.

»
4 years ago, # |
  Vote: I like it +21 Vote: I do not like it

First StoryForces, then weak pretests and now no editorial even after 10 hours. What's wrong with you guys?

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

The problem statements were too long, I think Mike should change the sites name to storyforces. several participants have pretty bad english background. Before making such long statements and stuff contest writers should think about it. just saying no offence....

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

Can someone please point out my mistake in my solution for question B?

Link

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

    1 1 1 1 1 1 2 2 2 2 2 2 (six ones, and six twos) will be answer "NO" in your code you have to calculate number of (more than 2), (more than 4), (more than 6), (more than 8)

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

So why am I getting a runtime error while using vector of size 10001 in the problem B? Link to the code

While using a map is actually accepting the solution? Link to the code

Note: Please check the third line within the function 'void solve()'

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

    Vector size is not enough. Your vector is only 10^4. Change the vector size 100001 (10^5). (Check the problem statement, 1 <= ai <= 10^5 and 1 <= x <= 10^5). I hope this helps you!

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

Can someone explain to me the approach for Question 1? What I did was initially the first player would play the move by coloring all the edge pieces at a gap of 1, afterwards in each subsequent turn the player will complete nth layer and half fill the n-1th layer, counting layers from outside to inside, so each time side of unfilled square will decrease by 2. At last when n-2 >= 1, the last player can fill the remaining part. Have a look at my program 89228494. Any other approach is appreciated.

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

    Hi, let me help you out with this.

    Basically in any move, you will fill the outer half-filled circumference and half fill the inner circumference. Outer circumference here means extreme left column + top row + right column + bottom row.

    So basically each partial step has: - Input: half-filled outer circumference of color 1(size n square) - Color 2 pony takes her move and.. - Output: half-filled outer circumference of color 2(size n-2 square)

    This reduces the net count of the total square by 2 overall (easy to see 4x4, remove the outer circumference to get 2x2, 5x5 to 3x3 and so on..)

    NOTE_1: For the very first move, however, we just partially fill the outer circumference. Instead, it can be seen as having an extra outer layer that we completely filled and partially filled the actual layer (let me know if this needs more explanation)

    So the answer is (n+2)/2; (added +2 for NOTE_1).

    It took me a long while as well, I hope the solution is intuitive ^_^

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

When we can see the editorials pls??

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

when do we get the editorial

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

    maybe after the editorial of next round is published!

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

      Mayby they lost fun in writing tutorial because of massive negative feedback.

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

        Wait,Editorials are written after the contest?I use to think they are written before the contest and then posted after.

»
4 years ago, # |
  Vote: I like it +5 Vote: I do not like it

Why is my answer for B resulting in a runtime error? Someone pls help. My code — https://codeforces.com/contest/1393/submission/89245490

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

Not able to find the editorial , is it published?

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

What's the intended solution for E1? I found that both the time and memory limitations are very tight for a 1e8 algorithm to pass.

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

    I have a $$$O(S*log(S))$$$ solution (where S is the sum of lengths of the words). However, I haven't been able to make it pass the time limit for E2. I suposse the constant factor is not small enough.

    The basic idea is to implement a function that allows you to compare pairs $$$(i,j) = i_{th}$$$ string removing its $$$j_{th}$$$ letter. You can do that in $$$O(log(n))$$$ using binary search and hashing (which is more than enough to pass E1). Also, you can do it in $$$O(1)$$$ by computing LCP array and a sparse table for constant time minimum in range queries (I won't go into details, you can think about it).

    Using that comparator, sort the pairs belonging to the same word, and then compute dp[i][j]= number of ways of doing the process for the first $$$i$$$ strings if I remove the $$$j_{th}$$$ pair of the last one. It's not that hard to realize that you only care about the sum of a prefix of the dp previous row (because we sorted the elements with our comparator). You can think about the details. Good luck!

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

      Thank you. Finallly passed E1 :)

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

where is the editorial?

»
4 years ago, # |
  Vote: I like it +22 Vote: I do not like it

I don't understand why does the problem setter has to make stories, why can't just give the problem statement straightaway, atleast this would rule out the ambiguity in the language and also will save the coordinators to give the announcements in the middle of the contest. I mean if you anyway have to give the crux of problem in the announcements why can't just give it in the actual problem statement itself !

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

To problem setters: If you love literature so much then publish your stories in a book. Dont create Storyforces

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

can someone pls tell me what i am doing wrong in problem B.[Here]is my sol.(https://codeforces.com/contest/1393/submission/89328093)

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

    The calculation for n2 is not correct. int n2=c2-c4,n4=c4-c6,n6=c6-c8,n8=c8; for the case there are 6 equals and nothing else.

    I think it is simpler to formulate the if directly on the c* values instead of calc the n* ones, creating another indirection.

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

      Actually ni represents how many different numbers are having frequency i. for example if we are having 6 equal, so we are having only one group with frequency 6, so n2,n4 and n8 will be 0 and n6 will be 1.

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

        Ah, ok. Then you miss the case n6==1 && n4==1 && n2==0, which should output yes.

»
4 years ago, # |
  Vote: I like it +34 Vote: I do not like it

Please post the editorial

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

Where is the editorial?

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

What about Tutorial ? Isn't it coming this time!!

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

https://codeforces.com/contest/1393/submission/89251484 Please help in finding the mistake..

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

I just attempted to solve problem D. I think I solved, and I wondered if anybody solved like me because I don't feel it was the intended solution.

I noticed that if you look at a 45 degree square, it's actually built of a diagonal square of size k on even/odd diagonals, and a diagonal square of size k-1 on the other diagonals. for example:

https://ibb.co/B4nJ3RH

There are two squares here. the 3 by 3 square:

https://ibb.co/rkCfbGc

and the 2 by 2 square:

https://ibb.co/Fz7jfYn

You can then reduce the problem to finding for each cell the largest square in the respective "diagonal matrix" where the cell is the left-most cell (when flipped 45 degrees right, it would be the upper left cell).
Finding the largest square of '1' for each cell where it is the upper left cell is a standard dp problem.

After you do that, you go over the cells and you simply check what's the largest square starting with him, and what is the largest square starting from the cell on its right. If the answers are x and y, the largest cut would be min(x,y+1). In the example above, x is 3 and y is 2, and so the answer is 3.

You don't need multiple dp's because when you do it you check if it's the same char.

The complexity: you build a dp of size n*m, iterate through the matrix once to build it. Then you iterate through the matrix once more and use the dp to get the solution. Space: 2*m*n, Time: O(n*m) with a small constant.

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

    Have you coded this up?

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

      I don't think you see updates on the other comment's thread, so here is my comment again:

      It's beautiful! (it actually TLEd in python so I translated to cpp).

      Submission (no comments): 89526378

      CPP Code with comments
  • »
    »
    4 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    that was very neat!!

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

      If it's correct xD

      Hope someone verifies that it worked. I might code it in the next few days but I'm quite busy right now.

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

        i will try code!! (ง'̀-'́)ง

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

          Looking forward to see of it works!
          In a few days if you don't reply I think I might try and I'll comment here with he solution.

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

          It's beautiful! (it actually TLEd in python so I translated to cpp).

          Submission (no comments): 89526378

          CPP Code with comments
»
4 years ago, # |
Rev. 2   Vote: I like it +11 Vote: I do not like it

EDITORIAL PLEASE Now when it's really time to show your English skills, you are shying away. At least help me upsolve the problems.

»
4 years ago, # |
  Vote: I like it +14 Vote: I do not like it

If you guys gonna take a long time for the Editorial than at least let us know !! What's the point of not answering and delaying ?

»
4 years ago, # |
  Vote: I like it +14 Vote: I do not like it

Upload the Editorial pls.. come on' guys..

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

Its more than 24 hours now .. when will u give the Editorial ? And please use simple english in the editorial

»
4 years ago, # |
  Vote: I like it +11 Vote: I do not like it

Editorials never take more than 24 hours to be uploaded... What happened?

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

3Blue1Brown styled visualization of neal's clean code for Problem B

neal's very readable solution for B: 89215119 The corresponding visualization for sample test case:

 Running example

Link to video if image does not render: https://youtu.be/QqIjqxUWkgQ

Unfortunately, the editorial is taking too long and I had originally thought of posting this there. If you want any other reasonably small test case visualized, let me know. Feedback is welcome.

»
4 years ago, # |
  Vote: I like it +22 Vote: I do not like it

Editorial?? PS: we don't need the ponies surrounded by fancy english words. What we need is logic to upsolve the problems.

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

We will post an editorial shortly. Now we are waiting for a good editorial in English. Sorry for delay.

»
4 years ago, # |
  Vote: I like it -7 Vote: I do not like it

We have a ready-made editorial in Russian. When we have a editorial in English, we will post a editorial

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

Here is my unofficial editorial for problems A-D

https://codeforces.com/blog/entry/81216

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

We don't want stories this time, in your upcoming Codeforces Round #705 :)