Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- use std::env;
- use std::io::{self};
- fn solve(input: &str) -> io::Result<()> {
- // Input
- let input_str = std::fs::read_to_string(input).unwrap();
- let input_str = input_str.trim();
- let input: Vec<_> = input_str.split("\n\n").collect();
- // Get each Elf's calories
- let mut elf_snacks: Vec<usize> = input
- .iter()
- .map(|x| x
- .split("\n")
- .map(|y| y.parse::<usize>().unwrap())
- .sum())
- .collect();
- elf_snacks.sort_by(|a, b| b.cmp(a));
- // Calculate answers
- let part1 = elf_snacks.iter().max().unwrap();
- let part2 = elf_snacks.iter().take(3).sum::<usize>();
- println!("Part 1: {}", part1); // 72602
- println!("Part 2: {}", part2); // 207410
- Ok(())
- }
- fn main() {
- let args: Vec<String> = env::args().collect();
- let filename = &args[1];
- solve(&filename).unwrap();
- }
Advertisement
Add Comment
Please, Sign In to add comment