Anadi's blog

By Anadi, history, 3 years ago, In English

Hello Codeforces!

We have a pleasure to invite you to Codeforces Round #647 (Div. 1) and Codeforces Round #647 (Div. 2). This round will take place on 04.06.2020 17:35 (Московское время). In both divisions, you will have 2.5 hours to solve 6 problems. Three of them will be shared.

The problems for this round were prepared by MicGor, Grzmot, Okrut and me.

We would like to thank everyone who made this round possible:

We hope you will enjoy the problem set! Good luck!

UPD: Score distribution:

  • Div 1: $$$500$$$ $$$-$$$ $$$1250$$$ $$$-$$$ $$$2000$$$ $$$-$$$ $$$2500$$$ $$$-$$$ $$$3000$$$ $$$-$$$ $$$3500$$$
  • Div 2: $$$500$$$ $$$-$$$ $$$1000$$$ $$$-$$$ $$$1500$$$ $$$-$$$ $$$2000$$$ $$$-$$$ $$$2750$$$ $$$-$$$ $$$3500$$$

UPD: Editorial

UPD: Congratulations to the winners!

Div. 1:

Div. 2

Below is a message for you from MikeMirzayanov:

AlgoMuse

With this round, we want to say thank you to Algo Muse for the significant contribution and support!

Algo Muse is an educational site that conducts online algorithmic contests in pen-and-paper style (no coding). It was originally started to help students prepare for theory qualifiers for graduate admissions. At present, the problems have a broader appeal, though occasionally an odd problem may require knowledge of linear algebra, probability, or group theory. The website is maintained by former students of IIT Bombay. To find out more, visit their website or their twitter account.

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

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

orz orz

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

Thank you students from Wroclaw

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

Where is the round "Sorry, Ivan Belonogov!"?

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

    That might be the first ever div1 only contest.

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

    Where is round "Sorry, Monogon!"? tbh

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

      Btw ... why are you looking like forced for the profile picture arthurconmy ??...No offense mate ...Just curious !! XD

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

        1) I like to have the same shirt colour as my handle (hopefully one day you'll see me in a red shirt). Some other users do this, e.g AnandOza (but I think I did it first :p)

        2) I only really take photos of myself for strava, so I'd just been on a run

        Спойлер
        • »
          »
          »
          »
          »
          3 years ago, # ^ |
          Rev. 3   Vote: I like it +106 Vote: I do not like it

          I think I first did it on July 12th, 2019 (when I reached purple for the second time).

          Btw, mine are all the same photo, just edited. (The original shirt is blue & matched my Expert rating when I started out, by coincidence, so after I changed color I had the idea to keep the matching theme.)

          Thanks for the shoutout! :)

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

            Some people messaged me to ask how I did this. I'm by no means an editing master, but here are the steps I figured out.

            I used GIMP (free Photoshop equivalent). I used the selection tools to carefully select my shirt without selecting the rest of the picture (this was kind of tedious).

            Then I simply used the Hue-Saturation tool (https://docs.gimp.org/2.10/en/gimp-tool-hue-saturation.html has an explanation). Instead of adjusting all the colors, I just adjusted the blue (to purple or orange or whatever) by changing the hue and saturation until it looked how I wanted. (The original shirt was blue, so this way it only adjusts the shirt and not any traces of my arm that I accidentally selected.)

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

hope so,this will be a great round

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

Hoping for gradual increase in question level from A to D. Rather than a very high increase from A to B and from B to C. Thank You for contest.

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

Wow! Polish round! So proud :)

Thanks for the round :) :)

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

In parallel div1 and div2 rounds,Are participants rated above 1900 considered div1 or above 2100? Will this change after the new rating system is applied?

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

    The participants rated 1900 and above are considered as div 1 in such rounds.

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

This will be good round :D

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

Hoping for a great contest!!(Especially for me xd)

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

Hoping for short and concise problem statements!

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

My general experience of 2.5hrs round. Statements are long. Large gap in questions levels difficulty.

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

    I think the first 4 problems will be on the easier side as Div 2 D will be same as Div 1 A this time. Hopefully no sudden surge in difficulty

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

    As a tester of this round, I can say that the problems are diverse and very interesting to solve. I found the problem statements concise enough and really liked the round, so I recommend others to have fun participating in this contest.

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

Following the trend, any review from the testers?

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

    Consider a case if any of the tester wrote problem's are not good will you participate?

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

      An acknowledgement from the testers boosts the confidence of the participants, nothing else ;)

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

        Yeah but trolling them by writing it had became a trend will stop them to do so. Don't you think??

        P.S. No offence:)

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

          I think it is bad habit. Testers should not public comment before the contest. It adds no value.

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

I think that contest will be very exciting if you can hack so when testers give as such opportunity

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

Ok so this round if from Poland !

So why is Errichto missing ????

»
3 years ago, # |
  Vote: I like it -172 Vote: I do not like it

Another Indian round. Check the writers profile.

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

    Delusional

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

    What does it have to do with the quality of the problem set? Furthermore, they're all Polish citizens so I'd rather call it a polish round.

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

    Why Downvotes?

    Anadi Anadi Agrawal is an Indian name and his skin is brown too(from the profile picture). So the guy is definately Indian. Nothing wrong with the comment.

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

      In enlightened societies, it is common to attribute no cultural characteristics to people based on names or physical characteristics, because this is generally the motive when characteristics are used as abusive words.

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

        From what I've observed about the so-called (and usually self-proclaimed in some way) "enlightened" parts of society, it's very much not the case, they just pay lip service to the idea.

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

        Could you speak in simple words? I cannot understand your point. This is not an English class in school.

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

      I meant it in a positive way, like " Hi , everyone . I noticed something and want to tell you about it." But poeple got me wrong fast. Everyone mistook it, because some who didn't know what I wrote downvoted. Nevermind.

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

        Yeah dude, i know your intentions were pure just like mine. But people like nFlamel and spookywooky dont hesitate to label anybody a racist. It makes me sad! They would just label anyone a racist without even understanding what the comment actually means.

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

What about the score distribution tho'?

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

Im-Still-Worthy-03062020073022

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

    It was a misunderstanding. I apologized him for that.

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

      He changed his post, you can see it's first revision, i misunderstood it(as i'm not good at memes), then i posted that comment, then he sent me a privet massage complaining about my comment and he said he meant that "we are happy to see lots of contests"(and then iv'e realized i was mistaken), then i apologized him and changed my comment. I don't know what is wrong/annoying. I'm pretty sure that its not hurting anyone etc.

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

        You lost 30 seconds requesting people not to judge you.

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

          Its a good habit when you are waiting for system testing, isn't it? :D

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

          LOL that is so true

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

This website of algo muse has only 3 problems? what is this? is it under construction?

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

    Open the past contests page — there are plenty of nice problems (with solutions)

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

      I found it, but it would have been better if all problems queued at the problems page.

      Anyway, thanks Algo Muse for the significant contribution and support to codeforces.

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

I think there might be something wrong with the time link. Normally a time link is rendered as the local time for the blog reader but this one isn't.

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

Hoping for no geometry problems ....XD

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

Master Sumeet.Shirgure!!! you are master here too!!!

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

[Deleted]

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

I wish for no long queues, as there is right now.

UPD: The queue was there when I wrote this comment.

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

Tank you Algo Muse, i really liked the site and problems, I really recommend it for Computing Olympiads as a Computing Olympiads participant. I have a question, how to submit in Algo Muse?

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

I hope I can solve problem C in div1 /rating++ !!

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

51-214017

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

Hope I will get good results.
(Though often after the contest I cry:“Nooooo~,Why am I sooo noob~”)

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

    same with me. I cry then I beat some meat from the kitchen. It's all good at the end of the day.

»
3 years ago, # |
  Vote: I like it -40 Vote: I do not like it

is it rated

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

    Seems like your sorry ass never had one.You might have a chance if you don't copy someone else username too.

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

Thank,Algo ZBW (doge)

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

Missing this iconic line :- "Scoring distribution will be announced (just before the contest/later)".

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

Hope to solve c in this round...

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

Hope I can do well in my first Div.1 :)

»
3 years ago, # |
  Vote: I like it -32 Vote: I do not like it

[Help]

I am unable to register in Div-1 Contest. When I click Register It does nothing.

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

    Because your rating is too low to participate in Division 1. Participate in Division 2 instead.

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

    Believe me..it's for your own good.. XD

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

I wish high rating to all contestants and high contribution to writers ;)

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

Hey, guys!

Right after contest ends, we will discuss the problemset live on Algopedia: https://youtu.be/ZPQzYDf5A4Y

Good luck to all!

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

    Hacked!

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

      GG bruh, I figured out during the livestream that I messed up one case :))

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

        Romeo, I took your advice and started wearing blazers while coding. Now my GF thinks that I am a psycho wearing blazer and shorts in the middle of the night. We broke up. Now I am crying. Y_Y

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

Thank you, Algo Muse! A very good website indeed. Thank you for your support.

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

Hope I can solve 3 of 6 successfully
Good luck to you all! :D

»
3 years ago, # |
  Vote: I like it -25 Vote: I do not like it

How many shared problems will be?

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

    Three problems will be shared (announcement).

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

:(

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

Excited to solve the contest,happy coding.

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

Why so few registrants(compared with the previous several contests)?

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

    May be people are going back to their regular life like before covid-19 in many countries.

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

    Because of time (?

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

Only red and orange coordinators this time... 3rd question might me little more interesting

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

Where are the funny memes, why aren't they here?(.

I think it will not be interesting if this blog will be without memes (

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

    I don't think memes are a good idea for a programming competition, not all people find them funny.

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

      just before that, there were memes at many blog contests and many of these memes took a lot of plus(i don't think that they were not funny if anybody plussed);

»
3 years ago, # |
  Vote: I like it -67 Vote: I do not like it

Is this a rated contest or not?

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

Looking forward to the contest. But I wonder why the number of registrations is less than usual.

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

    Lockdown is getting over at many places. So people are getting busy with their daily works. That might be the reason behind less no of registration.

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

    It is just around $$$20k$$$ both divisions combined.

»
3 years ago, # |
  Vote: I like it -39 Vote: I do not like it

tourist gonna make it to the top again today

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

cf-3

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

I'm not sure exactly why, but Div 1C sucked all joy and happiness out of my soul. I haven't hated a problem this much in a while.

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

    +++

    The beauty of a connection of pearls in colors $$$u$$$ and $$$v$$$ is defined as follows: let $$$2^k$$$ be the greatest power of two dividing $$$u \oplus v$$$ — exclusive or of $$$u$$$ and $$$v$$$. Then the beauty equals $$$k$$$. If $$$u = v$$$, you may assume that beauty is equal to 20.

    "Beauty"

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

    I agree with you. The statement was boring. Moreover, the problem was stated quite weirdly and could definitely have been much simpler. Even though I got the solution a while before the end, I chose to sit back and enjoy the other problems rather than waste precious time implementing something that is so irritating.

    (The other problems were good (Okay, really — B was just some implementation) though.)

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

    It's quite standard, yeah. Try all possible answers — take the last $$$b$$$ bits, convert it into the domino cycle problem, find an Euler cycle.

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

why A->C are all the binary related problems?

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

Am I the only one who thinks that the gap between Div2-D and Div2-E was HUGE ?

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

    I thought so but look at Div1 submissions (Div1A vs Div1B) :)

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

    I think that problem statement for D was way too difficult to understand. That really did bridge up the gap

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

Is there a special reason why the limits have to be so high so Python solutions are too slow? I mean at div2D there is no reason to set the limit at 5*10^5 when classic 10^5 or 2*10^5 would work just fine. What kind of solutions are you trying to prevent setting the limits so high?

Otherwise a nice contest with interesting problems, but the TLEs at D and E completely frustrated me on this one ...

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

what a bitforces contest

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

Calling an arbitrary number in the input $$$p$$$ is not a good idea? I think $$$m$$$ or $$$a$$$ would be a more justified choice.

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

Statement for Div 2 D was a little unclear in my opinion..

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

    Stupid D... They even changed the statement a bit.

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

      Statements caused me 45 minutes to understand. Foolishness caused my rest 30 minutes.

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

    Even after reading the same statement for 1Hr. Can't understand what is going on

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

"It should have 1 hour contest" -- my feelings after solving A,B,C :P

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

Anyone wasted time on B ignoring the sum of n over all test cases statement?

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

Participants.

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

    So your D failed system test. So prefer investing your time in checking for boundary cases inseting of posting this meme all time. You solved D on 8:56. So you were having enough time to atleast recheck your submissions(if you are unable to move further) but no you prefer showing off. Now enjoy failed system test

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

What would be the rating of div2D

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

    For Understanding : 3000 For solving: 1900

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

      It took me out of breath to understand the clumsier statements. And then foolishness took me to search for dfs solutions having an easy greedy one. But, finally mananged to solve a D in a div2 contest.

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

        Can you please explain your solution ?

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

          There was a checker whether answer exists or not. Suppose we have node with topic x then for each of its neighbours 1) There must be at least one node must have topic ranging from 1 to x-1. 2) No neighbouring node has value x. If answer exists: Print all blogs which has topic 1 then 2 and so on. Solution Link: 82531854

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

          a greedy solution will work.

          initialise assigned array of size n and default value =0

          now the nodes on the basis of required final topics

          for each node from sorted list.

          if any node adjacent to current if required value is same then conflict and print(-1)
          
          
          else check if the required final topic of this node can be 
             assigned

          checking step : if x to be assigned to a node then all the values from 1 to x-1 should appear on the neighbours of this node (this step can be done using a set).

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

    Probably 1600 or 1700. Even though the problem statement was confusing the implementation was pretty straightforward.

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

What was test case 9 on D?

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

Solved 5 problems for the first time!

I hope the pretests on D were strong. Last time there was a problem like that with large amounts of input, my code passed pretests but not system testing ;.; I made sure my scanner was fast this time but you never know -- it was around 1700 ms on the pretest so might be a bit tight/

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

How to solve Div2E/Div1B?

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

    Sort the $$$k_i$$$'s in descending order. Put the largest $$$k_i$$$ in the first set, then add the next few $$$k_i$$$'s in the second set until the sums are the same. Repeat this process until there are no more $$$k_i$$$'s to choose from.

    The key observation is that when you have $$$p$$$ $$$p^{x}$$$'s, that's equivalent to having a single $$$p^{x+1}$$$. You can keep a list $$$L$$$ of all your $$$k_i$$$'s and combine the last $$$p$$$ elements once $$$L[m-p+1] = L[m]$$$ where $$$m$$$ is the current length of $$$L$$$.

    My submission

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

      You meant it is equivalent to have p^(x+1) and not (p+1)^x ?

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

        Yes, thanks :)

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

          I thought of a solution on these lines but was totally clueless since couldn't prove nor my intuition agree to this.

          Any ideas on the proof that this should work?

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

            Consider writing some number $$$X$$$ in base $$$p$$$. Then, $$$X = a_0p^0 + a_1p^1 + a_2p^2 + ...$$$. If any $$$a_j \ge p$$$, then we just add $$$a_j/p$$$ to $$$a_{j+1}$$$ and mod $$$a_j$$$ by $$$p$$$. At some point, all $$$a_j$$$ will be strictly less than $$$p$$$.

            For every $$$k_i$$$, we're adding 1 to $$$a_{k_i}$$$. Because of the sorting order, this means that we'll always be adding values less than or equal to the largest $$$k_i$$$. Each contribution only adds 1 to some number of $$$a_j$$$'s where $$$k_i \le j \le k_{max}$$$, so we'll never overshoot the first set's sum.

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

      I used the same logic but got WA on TC 7. Now I feel so bad. Could've been the first time I solved E.

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

How to solve E?

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

What was the point of making div1D a geometry problem? Forcing us to angle sort adds nothing to the problem.

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

    It was initially a little bit different, and it just stayed in our heads in that form.

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

Did anyone else spend long hours debugging Div1C because they did not check whether the graph is connected when checking whether Euler cycle exists?

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

Still got no clue what happened in problem after reading div1A statement for three times.

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

I doubted my English Reading Skills after Reading Div2 D.

PS :I feel D was easy but difficult to decipher what is asked to do!

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

    Same lol, I solved it at last but it's too late to submit

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

Idk how people solved C that easily I guess I solved it the hard way

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

    I just feel : lets try doing this and it worked, then proof by pretests passed!

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

    what was your logic?

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

      I don't know how to explain it in English here's my Submission

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

      Try writing some numbers (till 11 maybe ) in binary, now try to find out contribution from each bit position of all numbers to final answer. There can be at most 63 bits in number and contribution from the ith bit is n/2^i.

      My code :

      void solve() throws Exception {
         int t=ni();
         while(t-->0){
              long n=nl();
              long ans = 0;
              for(int i=0;i<63;++i){
                  
                  ans+=(n/(1L<<i));
              }
              pn(ans);
       
         }
      }
      
»
3 years ago, # |
  Vote: I like it 0 Vote: I do not like it

Speedforces for Div2

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

cf-4

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

Mfw my first integer overflow bug after like $$$10^{9}$$$ years :PepeHands:

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

How to solve D2E?

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

is D1C/D2F finding the eulerian circuit based on the graph made by splitting the numbers into sets with equivalent last k bits? If so asking for an actual necklace seems kind of pointless.

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

    Yes, and that's what makes asking for actual necklace useful. Otherwise you could guess conditions for euler circuit without really understanding solution, and it was an actual coding problem for once before d1 D! (I got stupid tle though...)

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

    Yes. It is finding an Eulerian circuit.

    However, the algorithm to actually find the circuit is a separate, and significantly harder algorithm than only checking whether the circuit exists.

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

      May someone point me to resources for Graph Algorithms? I reduced it to the fact that we needed to find Eulerian circuit but did not know how to.

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

        I think it's covered in pllk's Competitive Programmer's Handbook

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

Can someone please help me figure out my solution for Div2E fails hidden tests?

82562768

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

How can I test my solution before the system test's done?

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

Am i the only one that wasn't able to understand exactly what 2D was asking?

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

    same here buddy... couldn't understand shit

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

    Finally, I knew the meaning of D but havn't got time to solve it. Even got to know a wrong meaning of D took me about half an hour.

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

    same

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

    Sorry, probably we should just put the formal statement there.

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

    Even an example was not friendly enough to understand what question was asking.

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

    & i thought that i was the only who was not able to understand this problem and cursing myself that my english is so bad. Believe me it took almost an hour to properly understand what the hell is this statement saying. Also i didn't read the line that references are bidirectional.

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

Div 1 C's statement could have been written better. The word "connection" was used to refer to both the connection between two pearls in a necklace part and a connection formed by glue. The statement also alternates between saying the glue merges two pearls into one and saying the glue forms a connection between two pearls. IMO it shouldn't be necessary to look at the sample in order to understand the problem. They should just said we have to form a necklace by gluing together pairs of pearls, and the beauty is the greatest beauty of each glue connection. This way it's clear that only the glue connections are counted.

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

DIV2 D is just like an English comprerhension which I always do to get pass the English level exam.

BTW, it's so frustrated to konw in the last few minutes before the contest is over that the points are only referenced with its neighbors not the whole graph which they can get to. Havnt got much time to solve the new realized D. Ratings down again :(

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

Imagine competing from a train and waiting till you exit a tunnel so you could submit.

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

    You are lucky you even got internet connection. I once tried to do that and it sucked so bad.

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

      4G on phone, the coverage isn't perfect but it's decent. There's supposed to be free wifi in the train, but it doesn't work... unsurprisingly.

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

        Is there really so many tunnels in the route where you were travelling??

        Which route were you in that tunnels were so frequent that it was affecting submissions??

        No offense

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

          Bruh Slovakia is mostly mountains. Trains go along rivers when they can, but sometimes it's just a mix of tunnels and thin valleys between mountains where no internet exists.

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

            Can you justify the third line of your template :)

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

    Imagine not to eat anything for about 12 hours and taking part in a contest in the last 2 hours. :(

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

spend over 1 hr on that B and finally got brute force accepted XDD!!

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

    yeah, the only observation needed was that taking a number k greater than 1023 will make the xor with $$$a_i$$$ > 1023, and hence there is no chance to get the original array.

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

    Actually I was trying to come up with faster solution and then I saw leaderboard submissions for B were shooting like anything. So I thought maybe brute force will pass.. :D

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

Nice contest, i really liked the problemset. Thank you all who worked hard to make this nice contest.

I'm looking for the editorial :D.

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

Was Div1C pretest 13 anything special? I kept getting TLE. Edge case or a matter of optimiziation?

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

    Whenever there is Euler cycle problem on CF there is always some high-rated coder that is surprised cause he got TLE. Such surprised coders include people like Yuhao or subscriber iirc. I can almost surely tell you without looking at your code that it has some bug making it work in sth like O(nm).

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

      Yea that's likely it -- the euler cycle code in my TCR didn't compile so I wrote a new one from scratch. Asking for problems :'-)

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

      The DFS implementation is best. It's obvious that it only visits each edge once because we pop_back edges and that it visits the whole graph because it's DFS. When it doesn't work, it needs to have such a stupid bug that it doesn't give right answers almost ever. Whenever I was able to write it in such a way that I'd believe that it works, it was always correct.

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

    I didn't actually read your solution, but did you find out whether the Euler cycle code was the problem? I TLE'd on 13 as well and it turned out I needed to fix constant factor optimization (later TLE'd on 14 and 17 as well), but my solution didn't use Euler cycle code and had really high constant factor so perhaps that's why.

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

      Yes it was as Swistakk suggested, the complexity was actually $$$O(nm)$$$. After fixing my euler cycle code it ran in half a second, so the timelimit seems fine to me. 82567726

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

"The magic glue allows Megan to merge two pearls (possibly from the same necklace part) into one."

The sentence above is from C. I looked over and over again at the statement and samples to find out what does it mean to merge two pearls into one. Could anyone help?

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

    Me too, he meant to connect them. ( to then form a necklace at the end )

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

Div1C statement should be: "Given edges, numbers. Write Euler cycle. Hate answer recovery".

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

took me hours to understand 2D, I really hope it was more friendly and easy to read.

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

    Can you explain your solution ?

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

      I would love to, but still, it was last minutes implementation. I still worried if it can pass the system test or not.

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

      Just use greedy technique start filling nodes in increasing value order 1->2->3.....so on. U will understand in better way if u will do some paper work.

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

      turn out i got an accepted. So here's my implementation.

      For each vertex, i find if it was possible to make this vertex have its topic. For vertex u that desired to be in topic tu, i check if the neighbors (adjacent vertexes) have every topic between 1 and tu − 1(inclusive). If vertex u is desired for topic 5, I check if the neighbors have at least a vertex with a topic between 1 and 4(inclusive). If there are no neighbors with topic x for 1 ≤ x ≤ 4, the answer should be "-1". If a vertex has topic 1 i just ignore it, because there is no topic below '1'.

      It's also impossible to find a valid answer if a vertex has an adjacent vertex that has a same topic.

      To find the permutation i used Dijkstra that sort vertexes by their topic(ascending) using a set. First, i push vertex with topic 1, next when accessing u if there is an adjacent vertex that has topic tu + 1, i also pushed the vertex into the set. Lastly when i accessed a vertex i push that one in vector to print the answer later. If i cannot visit all vertex then there is no answer.

      I tried to explain as best as i could sorry for my bad english.

      Edit: fixed some error.

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

    same here

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

    A friend of mine asked me to rephrase the question, so they could understand it better.

    Maybe this could help others too.

    There are N nodes with M bidirectional edges connecting them, each node has no "value" currently.

    You can do an operation to a node, which is as follows: Define S as the set which contains all values of its neighboring nodes (that have values set to them), then take the smallest positive integer that is not in that set.

    Edit : If set S is empty, the smallest positive integer would be 1.

    Given the final values of all nodes, determine the order to do these operations to the nodes (each node can only be applied with an operation once) or if it is impossible.

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

      What if the set is empty ? Btw great explanation, this is how problem statements should be.

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

        If the set is empty, then we should take the smallest positive integer that is not in the set, which is 1.

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

        Thanks for the feedback, I fixed it.

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

Where did i mess up in B: 82560946?

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

    Can you please explain your approach I am not able to get what you are doing with this code ?

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

      Brute force from 1 to 2050. And then checking if the resultant array after xor-ing has same elements as original array.

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

        I think you messed up in frequency count in one place you are setting 1 for all the entries and when inside the loop you are using ++ which may be the cause ! You should have used Freq[i]++ in the first loop itself

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

          I did that in my previous submission. Only difference is that i also handled the case for n = 1 in that. So, idk. :(

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

    You also need to check how many a number appear in the desired set, not only if it appears in the set or not.

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

    If I understand your code correctly, you should have checked f[x[j]] == freq[x[j]] instead of f[x[j]] == 1 && freq[x[j]] == 1. My approach was to sort the XOR-ed array and compare it with the original one element-by-element: 82500274

    Edit: turns out you can even use the == operator for vector, which makes it even easier: 82567200

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

      According to the statement, every integer in the set is unique so it must occur only once right?

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

    .

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

How to solve div2-D?

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

    My solving: for each target number from least to biggest we trying to put this number to the vertices and check (using set and it`s size), is it smallest possible number and is it possible to put it to the current vertice.

    Here is submission

    Sorry for my english.

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

    a greedy solution will work.

    initialise assigned array of size n and default value =0

    now the nodes on the basis of required final topics


    for each node from sorted list. if any node adjacent to current if required value is same then conflict and print(-1) else check if the required final topic of this node can be assigned checking step : if x to be assigned to a node then all the values from 1 to x-1 should appear on the neighbours of this node (this step can be done using a set).
  • »
    »
    3 years ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Pick topic in increasing order and check if you can assign it to its respective blog(say curr). What to check : In the adjacency list are the blogs referenced to curr. See what topics are assigned to these blogs. Find the smallest positive topic(say temp) not assigned to these blogs

    Spoiler

    If temp == topic assign topic to curr and continue. Else ans is not possible. Sorry if my language is unclear, for reference you can see my submission

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

Ah! Submitted div2-D at the last minute. But server was busy. Several minutes later I saw that it did not get submitted.

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

For C : Why does "<<" results in overflow for finding power of a number? My solution failed for "1<<(i+1)" but worked for "pow(2,i+1)" // after contest :(

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

can somebody please explain div 2-D statement.

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

Does D2C answer fit in long long? i got wa on pretest 4 and then thought answer might not fit in ll, but time was over then.

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

Statement of C was terrible. But not in the "broken English" way, because English was fine, but it used a lot of confusing expression. Merging/gluing/chain/necklace parts etc. it was all very confusing. It took me about 10 minutes to understand the statement and 10 seconds to come up with the solution once I understood it.

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

Statement for Div2D was pretty hard to comprehend & difficulty gap between Div2D & Div2E pretty huge, but besides that I really enjoyed the contest!

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

Skipped div2C for div2D and ruined the contest. I am still not able to understand what question D is asking.

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

    Sigh. Had over 1 hour to solve D, but just couldn't understand what it was asking for. Still don't..

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

What's wrong with this Div2 D / Div 1 A?

https://codeforces.com/contest/1362/submission/82556780

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

    me too on pretest 5

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

    it is the case when like we have to put 5 on the current node and its adjacent nodes contain 1 2 3 3.

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

      Could you provide a concrete input/output example?

      Here:

      5 4
      1 2
      1 3
      1 4
      1 5
      5 1 2 2 3
      

      Isn't the answer supposed to be -1?

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

        yup actually i also once got wrong ans on TC5 and then i found my algo is not working on that type of cases that i proposed earlier

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

          Yeah, thanks. I can't find a small case for which it fails.

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

For the first time, I was on the verge on solving E during contest.

My logic was to first sort the numbers in reverse order. I'll always add the first number to the result. Then I maintain two variables rem and currency. rem denotes the number of elements equal to currency required to make the result zero. In each iteration, if rem is greater than zero, I subtract the element from the result. Otherwise, I add the element to the result and set rem to 1. I make sure to update both rem and currency as required while I loop through the array. I could get 7 testcases to pass.

Could you find the flaw in the code or the logic? 82557476

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

I don't know how but I get RTE for div2D/div1A. My algorithm is quite straight forward, but somehow get RTE when trying to sort g[u]: the list of adjacent nodes for node u in the increasing order of t[].

Can anyone help?. Here is my submission

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

Lol didn't notice that sum of n over all test cases will not exceed 1024. :P

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

    XD i spend over 1 hr on that tho i finally got that!! i was lucky XDD

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

The questions were fun to solve. It should be called Codeforces Round #647 — The Bitmask.

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

![ ](Drake-04062020224740.jpg)

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

Free Fall!!! I hope just don't die :(

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

I was done with Solution of B. P00R ME

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

    My Code:

    Can anyone figure out what extra things out i have done

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

      There was no need of having array of size 2050, moreover you could have returned false even when b[i] exceeded 1025.

      And you are declaring two new arrays in each function call, you could have done by declaring one global array and later modified it

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

        Yaa Runtime could have been better. But to be honest they were not the factors which affected.

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

      Consider this: $$$t=1000$$$ and $$$n=1$$$ for all tests. Now, you are resetting array $$$s$$$ for every check. So basically, for all checks, your code is using approx. $$$2*10^6$$$ operations $$$(1024*2050)$$$. Multiply this with the number of tests and you get $$$2*10^9$$$. Hence, TLE. Silly mistake. It can be easily overlooked. But one should have been cautious.

      I guess this happened with all the solutions that got TLE after system tests. The pretests should have included this test.

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

    Why do you expect that your O(N^3) solution should pass? Consider $$$t$$$ = 1000 and $$$n$$$ = 1 for all test cases and look at your submission you will get what i meant.

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

Hi guys, can someone help me find what's wrong on my code in div 2E/div 1B? It fails on test 4. (Submission: https://codeforces.com/contest/1362/submission/82560898 )

Explanation of my code:

I sort all the numbers in descending order. I only maintain the difference between the sums of the two sets, by storing their current power and the multiplier. First, I put the largest number on the first set (the difference is $$$p^{arr[0]}$$$, so we have $$$pow = arr[0]$$$ and $$$mult = 1$$$. After that, I iterate the array of the powers. Now, I handle various cases:

  • If the current number has the same power as the balance, I decrease mult by $$$1$$$.

  • If there is a smaller power, I try to convert the balance to that power. If at any time mult exceeds $$$n$$$, we are certain that if we continue subtracting numbers from our balance, it will always remain positive (for example if we have $$$pow = 3$$$, $$$mult = 50$$$ and $$$n = 20$$$ (and we know that all numbers that follow have pow <= 3), in the worst case our balance will end up with $$$mult = 30$$$ and nothing less!). So, we can calculate the answer from here directly!

  • Finally, if at any time we reach $$$mult = 0$$$, we know that the numbers have eliminated themselves and we have a balance of $$$0$$$. So, we can continue on the next number as set it as our new balance.

Any help appreciated!

UPD. It turned out that I messed up with the modulo operations. I am really considering writing a library for them, which I believe will reduce the time coding and the bugs that may arise on my code. Here is the accepted submission: https://codeforces.com/contest/1362/submission/82581223

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

    I believe test case 4 is testing whether your code can handle when smaller power is equal to higher powers.

    Similar test case I wrote:



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

      It outputs 3, which I think it's correct.

      We have $$$3^2 - 3 - 3 - 3 + 3 = 3$$$

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

I still can't get over the fact that people read, understood and solved Div1A/Div2D in 2 mins

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

Got 2 WA in system test. Worst experience so far. :(

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

Problem D video Editorial: Solution

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

+Div1D was nice
+Div1E was nice
-A got really confusing statement
-C got really confusing statement

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

Great Contest! however have 1 Question: Who was responsible for naming these problems ? :D lol

A: Johnny and Ancient Computer. B: Johnny and His Hobbies. C: Johnny and Another Rating Drop. D: Johnny and Contribution. E: Johnny and Grandmaster. F: Johnny and Megan's Necklace.

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

    In some Polish tasks the main character is called Jasio, which we translated as Johnny

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

Can anyone explain to my why i got TLE for my submission on B? it seems like people with similar solutions got accepted.

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

    Your submission failed probably because of map but few submissions failed because their complexity was O(t * 1024 * 1024). Their complexity were independent of n.

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

      i've seen solutions using map in an even less efficient way and still got accepted , i could even link a few.

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

        same happened with me . use int only instead of ll and it will pass. I usually use macro #define int long long , it failed on 7th test case in system testing. When i removed this macro ,it got accepted.Its strange.