diff options
author | Tom Smeding <tom.smeding@gmail.com> | 2018-12-05 13:15:03 +0100 |
---|---|---|
committer | Tom Smeding <tom.smeding@gmail.com> | 2018-12-05 13:15:03 +0100 |
commit | d38746c3b68f139fb2f6df78a219c2577fc0338c (patch) | |
tree | bf51edf668f9054ea8b3c28aa6043061ad136d83 /2018/src/day4.rs | |
parent | d139374ef1518c5bd4e5c84e1d88263fdda2e15c (diff) |
Day 5 + benchmarking
Diffstat (limited to '2018/src/day4.rs')
-rw-r--r-- | 2018/src/day4.rs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/2018/src/day4.rs b/2018/src/day4.rs index 90cab72..f5e219f 100644 --- a/2018/src/day4.rs +++ b/2018/src/day4.rs @@ -68,7 +68,7 @@ fn argmax<T: Ord>(v: &[T]) -> Option<usize> { } } -pub fn main<T: BufRead>(reader: T) -> io::Result<()> { +pub fn main<T: BufRead>(reader: T) -> io::Result<(String, String)> { let mut records: Vec<Record> = reader.lines().map(|l| parse_line(&l.unwrap())).collect(); records.sort_unstable(); @@ -124,11 +124,11 @@ pub fn main<T: BufRead>(reader: T) -> io::Result<()> { let sleepy_guard = guards.get(&max_sleep_at).unwrap(); let max_minute = argmax(&sleepy_guard.asleep).unwrap() as i32; - println!("{}", max_minute * sleepy_guard.id); + let part1 = max_minute * sleepy_guard.id; let consistent_guard = guards.get(&max_times_at).unwrap(); let max_minute = argmax(&consistent_guard.asleep).unwrap() as i32; - println!("{}", max_minute * consistent_guard.id); + let part2 = max_minute * consistent_guard.id; - Ok(()) + Ok((part1.to_string(), part2.to_string())) } |