blob: 9be1bf05dd4d3be9875fc1bbfeb97f77e237c010 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include "aoc.h"
#include <algorithm>
#include <vector>
namespace aoc2022 {
std::pair<int, int> day3(line_view file) {
int s2{0}, s3{0};
int g{0};
rucksacks r3;
per_line(file, [&s2, &s3, &g, &r3](line_view lv) {
int i = g++ % 3;
if (i == 0) {
r3.reset();
}
rucksacks r2;
r2.load(lv);
s2 += r2.score();
r3.load(lv, i);
if (i == 2) {
s3 += r3.score3();
}
return true;
});
return {s2, s3};
}
} // namespace aoc2022
|