-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcode.cpp
59 lines (38 loc) · 826 Bytes
/
code.cpp
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#include <iostream>
#include <fstream>
#include <vector>
#include <filesystem>
int main () {
if ( !std::filesystem::exists("input") ){
std::cout << "input file does not exist" << std::endl;
return 1;
}
std::ifstream input("input");
int prev, x, sum, count = 0;
std::vector<int> data;
while (input >> x) {
data.push_back(x);
}
/* --- Part 1 --- */
prev = data[0];
for (int i = 1; i < data.size(); i++) {
x = data[i];
if (x > prev) {
count++;
}
prev = x;
}
std::cout << "Part1: " << count << std::endl;
/* --- Part 2 --- */
count = 0;
prev = data[0] + data[1] + data[2];
for (int i = 1; i < data.size()-2; i++) {
sum = data[i] + data[i + 1] + data[i + 2];
if (sum > prev) {
count++;
}
prev = sum;
}
std::cout << "Part2: " << count << std::endl;
return 0;
}