AOC2022/zig/1/part2.zig
2022-12-03 03:05:48 +00:00

29 lines
755 B
Zig

const std = @import("std");
pub fn main() !void {
var file = try std.fs.cwd().openFile("input.txt", .{});
defer file.close();
var a = std.io.bufferedReader(file.reader());
var readerStream = a.reader();
var buf: [32]u8 = undefined;
var top = [3]i32{ 0, 0, 0 };
var cur: i32 = 0;
while (try readerStream.readUntilDelimiterOrEof(&buf, '\n')) |line| {
if (std.mem.eql(u8, line, "")) {
top[0] = std.math.max(top[0], cur);
std.sort.sort(i32, &top, {}, std.sort.asc(i32));
cur = 0;
} else {
cur += try std.fmt.parseInt(i32, line, 10);
}
}
var sum: i32 = 0;
for (top) |val| {
sum += val;
}
std.debug.print("{d}\n", .{sum});
}