aboutsummaryrefslogtreecommitdiff
path: root/challenge-160/deadmarshal/cpp/ch-2.cpp
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2022-04-13 10:55:49 +0100
committerGitHub <noreply@github.com>2022-04-13 10:55:49 +0100
commit8210492180f16b90087d10d724f466b9fd6a7ea1 (patch)
treee44697a3ea83d8a1d68242cc9dc09379877b9932 /challenge-160/deadmarshal/cpp/ch-2.cpp
parentdadc09528a6b91bdbd01095a584fff355755de62 (diff)
parent354a81192848ea3f36d87377746484b19286075e (diff)
downloadperlweeklychallenge-club-8210492180f16b90087d10d724f466b9fd6a7ea1.tar.gz
perlweeklychallenge-club-8210492180f16b90087d10d724f466b9fd6a7ea1.tar.bz2
perlweeklychallenge-club-8210492180f16b90087d10d724f466b9fd6a7ea1.zip
Merge pull request #5931 from deadmarshal/challenge160
Added challenge 160
Diffstat (limited to 'challenge-160/deadmarshal/cpp/ch-2.cpp')
-rw-r--r--challenge-160/deadmarshal/cpp/ch-2.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/challenge-160/deadmarshal/cpp/ch-2.cpp b/challenge-160/deadmarshal/cpp/ch-2.cpp
new file mode 100644
index 0000000000..79ab7736f6
--- /dev/null
+++ b/challenge-160/deadmarshal/cpp/ch-2.cpp
@@ -0,0 +1,34 @@
+#include<iostream>
+#include<vector>
+#include<numeric>
+
+int equilibrium_index(const std::vector<int>& vec)
+{
+ int left = 0, right = std::accumulate(vec.begin(), vec.end(), 0);
+ int ret = -1;
+ for(std::size_t i = 0; i < vec.size(); ++i)
+ {
+ right -= vec[i];
+ if(left == right)
+ {
+ ret = i;
+ break;
+ }
+ left += vec[i];
+ }
+ return ret;
+}
+
+int main()
+{
+ std::vector<int> vec{1,3,5,7,9};
+ std::cout << equilibrium_index(vec) << '\n';
+
+ vec = {1,2,3,4,5};
+ std::cout << equilibrium_index(vec) << '\n';
+
+ vec = {2,4,2};
+ std::cout << equilibrium_index(vec) << '\n';
+
+ return 0;
+}