pub fn main() { let txt = std::fs::read_to_string("./input/day9.txt").unwrap(); let mut sum: i64 = 0; for line in txt.lines() { let mut razlike_all = vec![]; let mut razlike = vec![]; let mut brojevi: Vec = line.split(" ").map(|s| s.parse::().unwrap()).collect(); razlike_all.push(brojevi.clone()); while !brojevi.is_empty() { let mut ind: bool = true; for i in 0..brojevi.len() { if brojevi[i] != 0 { ind = false; } } if ind { break; } for i in 0..brojevi.len() - 1 { razlike.push(brojevi[i + 1] - brojevi[i]); } razlike_all.push(razlike.clone()); brojevi = razlike.clone(); razlike.clear(); } let mut sl: i64 = 0; for i in razlike_all { sl += i[i.len() - 1] as i64; } sum += sl; } println!("{}", sum); }