blob: 4ffeb63ed09b5e3a8ddb44ce5b08df9e7e035ae3 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
const INPUT_FILE: &str = "input";
fn main() {
let input = std::fs::read_to_string(INPUT_FILE).expect("Reading input file");
let mut left: Vec<u32> = vec![];
let mut right: Vec<u32> = vec![];
for line in input.lines() {
let mut fields = line.split_whitespace();
let e = "Wrong file format";
left.push(fields.next().expect(e).parse().expect(e));
right.push(fields.next().expect(e).parse().expect(e));
}
left.sort_unstable();
right.sort_unstable();
let mut distance: u32 = 0;
for i in 0..left.len() {
let l = left[i];
let r = right[i];
distance += if l >= r { l - r } else { r - l };
}
println!("Distance: {}", distance);
}
|