use crate::read;

pub fn run() {
    let input = read("01");
    let elves = vec![0];

    let mut elves = input.lines().fold(elves, |mut acc, x|{
        if x.is_empty() {
            acc.push(0);
        } else {
            let num: i32 = x.parse().unwrap();
            *acc.last_mut().unwrap() += num;
        }
        acc
    });
    elves.sort();
    elves.reverse();

    #[cfg(feature="part1")]
    {
        let a = elves.first().unwrap();
        eprintln!("Part 01: {}", *a);
    }

    #[cfg(feature="part2")]
    {
        let b = elves[..3].iter().sum::<i32>();
        eprintln!("Part 02: {}", b);
    }
}