80
7

[2025 Day 5] It always be like that

6mon 14d ago by programming.dev/u/Gobbel2000 in advent_of_code@programming.dev from programming.dev

it all fit in int64 tho, so could be worse

I always have this thought. I'm doing it in Rust, so I check if there are negative numbers: if not, use usize. But I'm always terrified there will be an overflow somewhere.

If I were using Kotlin or Java, I might always use BigInteger just out of fear.

That’s a very interesting thought! I was thinking of writing my own Rust data type that would automatically upgrade to big integer, similarly to the int type in Python.

I am doing AOC in Kotlin. Longs are fine. I haven't encountered a puzzle that required ULong or BigInteger.

I lost twenty minutes to rewriting everything to deal with BigInts when I saw the data, and then switching it all back when I realised my error. I panicked too soon.

Really this. I fear the day the inputs become that large.

Considered sticking all the values in a set. Considered input. Coalesced the ranges instead. Ran both parts in 0.1 ms.

I'm actually looking forward a bit to 12 days this year. Previous AOC took a bit long to ramp up. Am expecting recursion imminently, dynamic programming next week, and complete head scratching bastardry to round out the week.