use std::error::Error; use std::fs::File; use std::io::{self, BufRead}; use std::vec::Vec; fn main() -> Result<(), Box> { let file = File::open("inputs/day1.txt")?; let lines = io::BufReader::new(file).lines().map(|l| l.unwrap()); let mut calories_per_elf: Vec = lines.map(|l| l.parse::()).fold(vec![0], |mut v, c| { if let Ok(cal) = c { *v.last_mut().unwrap() += cal; } else { v.push(0); }; v }); calories_per_elf.sort(); calories_per_elf.reverse(); println!("Answer Part1: {}", calories_per_elf[0]); let answer2 = calories_per_elf[0] + calories_per_elf[1] + calories_per_elf[2]; println!("Answer Part2: {}", answer2); Ok(()) }