aboutsummaryrefslogtreecommitdiff
path: root/src/2022/day20/aoc.cpp
blob: 28b568fe963d7db390a952f14188a1f5bd515c95 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include "aoc.h"

namespace aoc2022 {

std::pair<int, int64_t> day20(line_view file) {
  message msg{file};
  msg.relocate();
  int n = msg.nth(1000)->value + msg.nth(2000)->value + msg.nth(3000)->value;

  message msg1{file};
  msg1.multiply(811589153);
  for(auto i = 0; i < 10; i++) {
    msg1.relocate();
  }
  int64_t n1 = msg1.nth(1000)->value + msg1.nth(2000)->value + msg1.nth(3000)->value;
  return {n, n1};
}

} // namespace aoc2022