From 35160c9e759bb7ab5d478074f417305012c779be Mon Sep 17 00:00:00 2001 From: tomsmeding Date: Sat, 1 Dec 2018 12:05:29 +0100 Subject: Start 2018! --- 2018/src/day1.rs | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 2018/src/day1.rs (limited to '2018/src/day1.rs') diff --git a/2018/src/day1.rs b/2018/src/day1.rs new file mode 100644 index 0000000..741f5b3 --- /dev/null +++ b/2018/src/day1.rs @@ -0,0 +1,25 @@ +use std::io; +use std::io::BufRead; +use std::collections::HashSet; + +pub fn main(reader: T) -> io::Result<()> { + let values: Vec = + reader.lines().map(|l| l.unwrap().parse::().unwrap()).collect(); + + println!("{}", values.iter().sum::()); + + let mut seen = HashSet::new(); + seen.insert(0); + + let mut res = 0; + for val in values.iter().cycle() { + res += val; + if seen.contains(&res) { + println!("{}", res); + return Ok(()); + } else { + seen.insert(res); + } + } + unreachable!() +} -- cgit v1.2.3-54-g00ecf