use std::collections::BinaryHeap; use std::io; fn main() -> io::Result<()> { let mut l1 = BinaryHeap::::new(); let mut l2 = BinaryHeap::::new(); for line in io::stdin().lines() { let line = line?; let parts: Vec<&str> = line.trim().split_whitespace().collect(); let (n1, n2) = (parts[0], parts[1]); l1.push(n1.parse().unwrap()); l2.push(n2.parse().unwrap()); } let l1 = l1.into_sorted_vec(); let l2 = l2.into_sorted_vec(); let mut sum = 0; for (n1, n2) in l1.into_iter().zip(l2.into_iter()) { sum += n1.abs_diff(n2); } println!("{}", sum); Ok(()) }