Optimize 2020/13/1
This commit is contained in:
parent
4792a10a7c
commit
61205c81f7
|
@ -41,9 +41,12 @@ fn parse_input(raw: &str) -> Parsed {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn part1((start, nums): &Parsed) -> i64 {
|
fn part1((start, nums): &Parsed) -> i64 {
|
||||||
let nums = nums.iter().filter_map(|&n| n).collect_vec();
|
nums.iter()
|
||||||
let (eta, line) = (*start..).find_map(|t| nums.iter().find(|&n| t % n == 0).map(|n| (t, n))).unwrap();
|
.filter_map(|&n| n)
|
||||||
(eta - start) * line
|
.map(|n| (n, n - (start % n)))
|
||||||
|
.min_by_key(|(_, n)| *n)
|
||||||
|
.map(|(eta, line)| eta * line)
|
||||||
|
.unwrap()
|
||||||
}
|
}
|
||||||
|
|
||||||
fn part2((_, lines): &Parsed) -> i64 {
|
fn part2((_, lines): &Parsed) -> i64 {
|
||||||
|
|
Loading…
Reference in New Issue
Block a user