From 79b905aea4bbe0c15c448f0af3f8cc733f763617 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Sat, 7 Dec 2024 07:51:09 +0100 Subject: Day 7 2024 --- 2024/07/day07a.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 2024/07/day07a.cpp (limited to '2024/07/day07a.cpp') diff --git a/2024/07/day07a.cpp b/2024/07/day07a.cpp new file mode 100644 index 0000000..3b56dea --- /dev/null +++ b/2024/07/day07a.cpp @@ -0,0 +1,34 @@ +#include +#include +#include +#include +#include +#include +using namespace std; + +bool possible(long long x, vector& a, int i) { + if (i == 0) + return a[0] == x; + if (a[i] != 0 && x % a[i] == 0) + return possible(x/a[i], a, i-1) || possible(x-a[i], a, i-1); + return possible(x-a[i], a, i-1); +} + +int main() { + string line; + long long tot = 0; + while (getline(cin, line)) { + long long x, i; + vector a; + stringstream s(line); + s >> x; + char colon; + s >> colon; + while (s >> i) + a.push_back(i); + if (possible(x, a, a.size()-1)) + tot += x; + } + cout << tot << endl; + return 0; +} -- cgit v1.3