Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def read_lines
- array = []
- i = gets.to_i
- 1.upto i do
- line = gets.split(' ').map(&:to_i)
- array.push(line)
- end
- array
- end
- def linear_function(day1,hour1,min1,sec1,day2,hour2,min2,sec2)
- day1 = day1 * 24 * 60 * 60
- hour1 = hour1 * 60 * 60
- min1 = min1 * 60
- day2 = day2 * 24 * 60 * 60
- hour2 = hour2 * 60 * 60
- min2 = min2 * 60
- time_difference = (day2 + hour2 + min2 + sec2) - (day1 + hour1 + min1 + sec1)
- end
- def seconds_to_units(seconds)
- '%d days, %d hours, %d minutes, %d seconds'
- answer = [24,60,60].reverse.inject([seconds]) {|result, unitsize|
- result[0,0] = result.shift.divmod(unitsize)
- result
- }
- end
- def convert_to_s(array)
- "(#{array.join(' ')})"
- end
- line = read_lines
- seconds = line.map{|i| linear_function(i[0],i[1],i[2],i[3],i[4],i[5],i[6],i[7])}
- units = seconds.map{|n| seconds_to_units(n)}
- answer = units.map{|j| convert_to_s(j)}
- puts answer.join(' ')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement