Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Solution of this problem:
- # https://code.google.com/codejam/contest/3264486/dashboard#s=p2
- def solve(n, k)
- l = 0
- p2 = 1 # 2**0
- k1 = k
- n1 = n
- chunk = n
- while (k1 - p2 > 0)
- k1 -= p2
- n1 -= p2
- chunk -= 1
- chunk = chunk / 2 + chunk % 2
- l += 1
- p2 *= 2
- end
- chunk -= 1 if k1 > n1 - p2*(chunk - 1)
- chunk -= 1
- sleft = chunk / 2 + chunk % 2
- sright = chunk / 2
- return "#{sleft} #{sright}"
- end
- T = gets.to_i
- for t in 1..T
- (n, k) = gets.chomp.split.map { |x| x.to_i }
- ans = solve(n, k)
- puts "Case ##{t}: #{ans}"
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement