Skip to content

Commit f9b7d60

Browse files
Codingninja problem- Maximum Equal Stack Sum Solved
1 parent 4faff88 commit f9b7d60

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed

Maximum Equal Stack Sum.cpp

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#include <bits/stdc++.h>
2+
using namespace std;
3+
4+
int getSum(stack<int> s)
5+
{
6+
int sum = 0;
7+
while (!s.empty())
8+
{
9+
sum += s.top();
10+
s.pop();
11+
}
12+
return sum;
13+
}
14+
15+
int maxSum(stack<int> &s1, stack<int> &s2, stack<int> &s3)
16+
{
17+
int sum1 = getSum(s1);
18+
int sum2 = getSum(s2);
19+
int sum3 = getSum(s3);
20+
21+
while (true)
22+
{
23+
if (sum1 == sum2 && sum2 == sum3)
24+
break;
25+
if (sum1 >= sum2 && sum1 >= sum3)
26+
{
27+
sum1 -= s1.top();
28+
s1.pop();
29+
}
30+
else if (sum2 >= sum1 && sum2 >= sum3)
31+
{
32+
sum2 -= s2.top();
33+
s2.pop();
34+
}
35+
else
36+
{
37+
sum3 -= s3.top();
38+
s3.pop();
39+
}
40+
}
41+
return sum1;
42+
}

0 commit comments

Comments
 (0)