23 lines
652 B
Rust
23 lines
652 B
Rust
|
|
use std::collections::BinaryHeap;
|
||
|
|
use std::io;
|
||
|
|
|
||
|
|
fn main() -> io::Result<()> {
|
||
|
|
let mut l1 = BinaryHeap::<u64>::new();
|
||
|
|
let mut l2 = BinaryHeap::<u64>::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(())
|
||
|
|
}
|