fork download
  1. n, a = gets.strip.split.map(&:to_i)
  2. x = gets.strip.split.map(&:to_i).sort
  3. diffs = {}
  4. n.times do |i|
  5. diffs[i] = (x[i] - a).abs
  6. end
  7. diffs = diffs.sort_by { |k, v| [v] }.to_h
  8. i = ans = 0
  9. prev = a
  10. diffs.keys.each do |k|
  11. break if i == n - 1
  12. ans += (x[k] - prev).abs
  13. prev = x[k]
  14. i += 1
  15. end
  16. puts ans
Success #stdin #stdout 0.02s 9776KB
stdin
3 10
1 7 12
stdout
7