Advertisement
Guest User

Untitled

a guest
Apr 8th, 2017
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. input_filename = ARGV[0]
  2. output_filename = input_filename.sub('.in', '.out')
  3. File.open(input_filename, 'r') do |input|
  4. File.open(output_filename, 'w') do |output|
  5. num_test_cases = input.readline.to_i
  6. 1.upto(num_test_cases) do |test_case|
  7. n, k = input.readline.split(' ').map(&:to_i)
  8.  
  9. max = n
  10. d = {}
  11. d[max] = 1
  12. y = 0
  13. z = 0
  14.  
  15. k.times do
  16. d[max] -= 1
  17.  
  18. n1 = max / 2
  19. n2 = [0, (max - 1) / 2].max
  20.  
  21. if not d.key?(n1)
  22. d[n1] = 1
  23. else
  24. d[n1] += 1
  25. end
  26.  
  27. if not d.key?(n2)
  28. d[n2] = 1
  29. else
  30. d[n2] += 1
  31. end
  32.  
  33. y = [n1, n2].max
  34. z = [n1, n2].min
  35.  
  36. if d[max] == 0
  37. d.delete(max)
  38. max = d.keys.max
  39. end
  40.  
  41. end
  42. output << "Case ##{test_case}: #{y} #{z}\n"
  43. end
  44. end
  45. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement