-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.cpp
63 lines (58 loc) · 1.11 KB
/
main.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
60
61
62
63
/*
Dans l'input, on retrouve des groupes de nombres séparés par des lignes vides.
Pour la partie 1, le but est de trouver la somme du groupe ayant la valeur la plus élevée.
Pour la partie 2, le but est de trouver la somme des 3 groupes ayant les valeurs les plus élevées.
*/
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int arr[3];
void addArray(int i)
{
if (i > arr[0])
{
arr[0] = i;
}
if (arr[0] > arr[1])
{
int temp = arr[1];
arr[1] = arr[0];
arr[0] = temp;
}
if (arr[1] > arr[2])
{
int temp = arr[2];
arr[2] = arr[1];
arr[1] = temp;
}
}
int main()
{
string filename = "input.txt";
ifstream file(filename);
if (!file.is_open())
{
cerr << "Erreur : impossible d'ouvrir le fichier " << filename;
return 1;
}
string line;
int sum = 0;
while (getline(file, line))
{
if (!line.empty())
{
sum += stoi(line);
}
else
{
addArray(sum);
sum = 0;
}
}
file.close();
addArray(sum);
cout << "Part1: " << arr[2] << '\n';
cout << "Part2: " << arr[0] + arr[1] + arr[2];
return 0;
}