const input = @embedFile("input.txt"); const std = @import("std"); pub fn main() !void { var it = std.mem.tokenize(u8, input, "\n"); var busses:[10]u32 = std.mem.zeroes([10:0]u32); var i: u32 = 0; while(it.next()) |line| :(i+=1) { busses[i] = (try std.fmt.parseInt(u32, line, 10)); } std.debug.print("Busses:\n", .{}); for(busses)|bus|{ std.debug.print("{d}\n", .{bus}); } const start: u32 = 1000391; var n: u32 = start; var found = false; while(n > 0 and !found):(n+=1){ if(n % 1000 == 0) std.debug.print("Tick: {d}\n", .{n}); for(busses)|bus|{ //skip if(bus == 0){ continue; } if(n % bus == 0){ found = true; std.debug.print("Found! bus {d}, tick {d}, wait {d}, answer {d}\n", .{bus, n, n - start, (n-start)*bus}); break; } } } }