31 lines
623 B
Rust
31 lines
623 B
Rust
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);
|
|
}
|
|
}
|