-
Notifications
You must be signed in to change notification settings - Fork 5
/
Equal-Stacks.cpp
70 lines (66 loc) · 1.34 KB
/
Equal-Stacks.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
64
65
66
67
68
69
70
#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>
using namespace std;
int main()
{
int n1;
int n2;
int n3;
cin >> n1 >> n2 >> n3;
int arr1[n1];
int sum1 = 0, sum2 = 0, sum3 = 0;
for(int i = 0; i < n1; i++)
{
cin >> arr1[i];
sum1 += arr1[i];
}
int arr2[n2];
for(int i = 0; i < n2; i++)
{
cin >> arr2[i];
sum2 += arr2[i];
}
int arr3[n3];
for(int i = 0; i < n3; i++)
{
cin >> arr3[i];
sum3 += arr3[i];
}
if(sum1 == sum2 && sum1 == sum3)
{
cout << sum1 ;
return 0;
}
int i = 0, j = 0, k = 0;
while(sum1 != sum2 || sum1 != sum3)
{
if(sum1 > sum2 || sum1 > sum3)
sum1 = sum1 - arr1[i++];
if(sum2 > sum1 || sum2 > sum3)
sum2 = sum2 - arr2[j++];
if(sum3 > sum1 || sum3 > sum2)
sum3 = sum3 - arr3[k++];
}
cout << sum1;
return 0;
}