#include #include #include #include #include using namespace std; namespace { using Pos = tuple; vector read_file(const filesystem::path& filename) { ifstream file{ filename }; vector data; long x{}; long y{}; char skip{}; while ( file >> x >> skip >> y ) { data.emplace_back(x, y); } return data; } void part1(const vector& data) { auto area = numeric_limits::min(); for ( size_t i = 0; i != data.size(); ++i ) { for ( size_t j = i + 1; j != data.size(); ++j ) { const auto [x1, y1] = data[i]; const auto [x2, y2] = data[j]; const auto width = abs(x1 - x2) + 1; const auto height = abs(y1 - y2) + 1; area = max(area, width * height); } } cout << "Part 1: " << area << '\n'; } } // namespace int main() { auto data = read_file("data/day09.txt"); part1(data); }