Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- input_filename = ARGV[0]
- output_filename = input_filename.sub('.in', '.out')
- File.open(input_filename, 'r') do |input|
- File.open(output_filename, 'w') do |output|
- num_test_cases = input.readline.to_i
- 1.upto(num_test_cases) do |test_case|
- n, k = input.readline.split(' ').map(&:to_i)
- max = n
- d = {}
- d[max] = 1
- y = 0
- z = 0
- k.times do
- d[max] -= 1
- n1 = max / 2
- n2 = [0, (max - 1) / 2].max
- if not d.key?(n1)
- d[n1] = 1
- else
- d[n1] += 1
- end
- if not d.key?(n2)
- d[n2] = 1
- else
- d[n2] += 1
- end
- y = [n1, n2].max
- z = [n1, n2].min
- if d[max] == 0
- d.delete(max)
- max = d.keys.max
- end
- end
- output << "Case ##{test_case}: #{y} #{z}\n"
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement