Optimize 2020/13/1

This commit is contained in:
kageru 2020-12-13 22:18:34 +01:00
parent 4792a10a7c
commit 61205c81f7
Signed by: kageru
GPG Key ID: 8282A2BEA4ADA3D2

View File

@ -41,9 +41,12 @@ fn parse_input(raw: &str) -> Parsed {
}
fn part1((start, nums): &Parsed) -> i64 {
let nums = nums.iter().filter_map(|&n| n).collect_vec();
let (eta, line) = (*start..).find_map(|t| nums.iter().find(|&n| t % n == 0).map(|n| (t, n))).unwrap();
(eta - start) * line
nums.iter()
.filter_map(|&n| n)
.map(|n| (n, n - (start % n)))
.min_by_key(|(_, n)| *n)
.map(|(eta, line)| eta * line)
.unwrap()
}
fn part2((_, lines): &Parsed) -> i64 {