Skip to content

Instantly share code, notes, and snippets.

@dashohoxha
Created April 9, 2017 06:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dashohoxha/c5d8b6b2a562cd9fd5616fabe7ad7018 to your computer and use it in GitHub Desktop.
Save dashohoxha/c5d8b6b2a562cd9fd5616fabe7ad7018 to your computer and use it in GitHub Desktop.
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
@dashohoxha
Copy link
Author

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment