my solutions to advent of code
aoc advent-of-code

i should go to sleep

aylac.top 23097406 6fc15756

verified
Changed files
+8 -2
2025
5
gleam
+8 -2
2025/5/gleam/src/main.gleam
··· 68 // int.compare(range.0, seen_range.1), 69 // int.compare(range.1, seen_range.0), 70 // ) 71 case 72 int.compare(range.0, seen_range.0), 73 int.compare(range.1, seen_range.1), 74 int.compare(range.0, seen_range.1), 75 int.compare(range.1, seen_range.0) 76 { 77 Gt, Gt, Gt, Gt | Lt, Lt, Lt, Lt -> #(range, seen_ranges) 78 - Eq, Eq, _, _ | Gt, Lt, _, _ | Eq, Lt, _, _ | Gt, Eq, _, _ -> #( 79 #(0, 0), 80 seen_ranges, 81 ) 82 - Eq, Gt, _, _ | Lt, Eq, _, _ | Lt, Gt, _, _ -> #( 83 range, 84 set.delete(seen_ranges, seen_range), 85 ) 86 Lt, Lt, _, _ -> #( 87 #(range.0, seen_range.1), 88 set.delete(seen_ranges, seen_range), 89 ) 90 Gt, Gt, _, _ -> #( 91 #(seen_range.0, range.1), 92 set.delete(seen_ranges, seen_range),
··· 68 // int.compare(range.0, seen_range.1), 69 // int.compare(range.1, seen_range.0), 70 // ) 71 + // btw im refusing to ever do something better than this idc about your sorting and whatever this is the way shut the fuck up i spent three hours on this i will be using it 72 case 73 int.compare(range.0, seen_range.0), 74 int.compare(range.1, seen_range.1), 75 int.compare(range.0, seen_range.1), 76 int.compare(range.1, seen_range.0) 77 { 78 + // if there's no touching 79 Gt, Gt, Gt, Gt | Lt, Lt, Lt, Lt -> #(range, seen_ranges) 80 + // if it's inside of the other one 81 + Gt, Lt, _, _ | Eq, Lt, _, _ | Gt, Eq, _, _ | Eq, Eq, _, _ -> #( 82 #(0, 0), 83 seen_ranges, 84 ) 85 + // if the other one is inside it 86 + Lt, Gt, _, _ | Eq, Gt, _, _ | Lt, Eq, _, _ -> #( 87 range, 88 set.delete(seen_ranges, seen_range), 89 ) 90 + // if it's touching on the left side make them touch 91 Lt, Lt, _, _ -> #( 92 #(range.0, seen_range.1), 93 set.delete(seen_ranges, seen_range), 94 ) 95 + // if it's touching on the right size make them touch 96 Gt, Gt, _, _ -> #( 97 #(seen_range.0, range.1), 98 set.delete(seen_ranges, seen_range),