v-O_O-v's blog

By v-O_O-v, history, 6 years ago, In English

Does anyone have a simpler approach of solving this problem? Please share with me.

  • Vote: I like it
  • -16
  • Vote: I do not like it

| Write comment?
»
6 years ago, # |
  Vote: I like it 0 Vote: I do not like it

if u can understand python the refer to my solution https://mirror.codeforces.com/contest/1152/submission/53235674 starting from MSB following a greedy type appraoch

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

    Can you explain your logic I have difficulty in reading python. Thanks!

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

      first of all i converted the number into its binary and then checked if all bits are set if not then i start traversing from the most significant bit if a bit is set then continue else i calculated the length of all the bits starting from that '0' bit and then xored it with the number(all bits set with the lenght i calculated) AND then checked if the number becomes 2^n-1 (break if yes) else continue till the number becomes 2^n-1 (till we reach the last bit). take an example and u will understand refering to my code

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

      sorry for the down vote by mistake:)

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

        No problem. I don't care about those a question is a question l.

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

          I finally solved it using almost the same idea of yours. AC in 7 goes. my solution Thanks!.