From 89d878ebfdd90a540f4a93329c14db56d77be229 Mon Sep 17 00:00:00 2001 From: Leah Neukirchen Date: Mon, 3 Dec 2018 17:45:48 +0100 Subject: day01 --- day01.rs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 day01.rs (limited to 'day01.rs') diff --git a/day01.rs b/day01.rs new file mode 100644 index 0000000..a864d5d --- /dev/null +++ b/day01.rs @@ -0,0 +1,22 @@ +use std::fs::File; +use std::collections::HashSet; +use std::io::{BufRead,BufReader}; + +fn main() { + let f = File::open("day01").unwrap(); + + let v: Vec = BufReader::new(&f).lines() + .map(|l| l.unwrap().parse().unwrap()) + .collect(); + println!("{}", v.iter().sum::()); // 553 + + let mut seen = HashSet::new(); + let s = v.iter() + .cycle() + .scan(0, |a,e| { + *a += e; + Some(*a) + }) + .find(|n| !seen.insert(*n)); + println!("{}", s.unwrap_or(-1)); // 78724 +} -- cgit 1.4.1