aboutsummaryrefslogtreecommitdiff
path: root/challenge-086/hstejas/cpp/ch-1.cpp
diff options
context:
space:
mode:
authorJan Krňávek <Jan.Krnavek@gmail.com>2020-11-15 09:04:35 +0100
committerJan Krňávek <Jan.Krnavek@gmail.com>2020-11-15 09:04:35 +0100
commite29dae3e932026fa0ef6c6f57dcb07fadd52856a (patch)
treeda329e425ba812ce122f3a112461780999514cf9 /challenge-086/hstejas/cpp/ch-1.cpp
parentfe386961e5846533182f55716aa7156f34c070ed (diff)
parent4c31310c2fcdcc28b67276d0d5a90fdf820d8b48 (diff)
downloadperlweeklychallenge-club-e29dae3e932026fa0ef6c6f57dcb07fadd52856a.tar.gz
perlweeklychallenge-club-e29dae3e932026fa0ef6c6f57dcb07fadd52856a.tar.bz2
perlweeklychallenge-club-e29dae3e932026fa0ef6c6f57dcb07fadd52856a.zip
Merge remote-tracking branch 'upstream/master' into challenge-week-086
Diffstat (limited to 'challenge-086/hstejas/cpp/ch-1.cpp')
-rw-r--r--challenge-086/hstejas/cpp/ch-1.cpp43
1 files changed, 43 insertions, 0 deletions
diff --git a/challenge-086/hstejas/cpp/ch-1.cpp b/challenge-086/hstejas/cpp/ch-1.cpp
new file mode 100644
index 0000000000..79fa9a55bc
--- /dev/null
+++ b/challenge-086/hstejas/cpp/ch-1.cpp
@@ -0,0 +1,43 @@
+#include <iostream>
+#include <algorithm>
+#include <vector>
+
+// g++ --std=c++17 c1.cpp && ./a.out
+
+void pair_diff(unsigned int reference, std::vector<int> nums)
+{
+ std::sort(nums.begin(), nums.end(), std::greater<int>());
+ auto start = nums.begin();
+ auto curr = start;
+ while(start != nums.end() && curr != nums.end())
+ {
+ ++curr;
+ int diff = std::abs(*start - *curr);
+ if(diff == reference)
+ {
+ std::cout << "1 as " << *start << " - " << *curr << " = " << diff << std::endl;
+ return;
+ }
+ else if (diff > reference)
+ {
+ ++start;
+ curr = start;
+ }
+ }
+ std::cout << "0" << std::endl;
+}
+
+int main()
+{
+ std::vector<std::pair< int, std::vector<int>>> tests {
+ {7, {50, 8, 12, 15, 5} },
+ {6, {1, 5, 2, 9, 7} },
+ {15, {10, 30, 20, 50, 40} },
+ {15, {-15, -5, -30, 20, 50, 40} }
+ };
+
+ for (auto test : tests)
+ {
+ pair_diff(test.first, test.second);
+ }
+} \ No newline at end of file