-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtwostack.cpp
More file actions
40 lines (36 loc) · 932 Bytes
/
Copy pathtwostack.cpp
File metadata and controls
40 lines (36 loc) · 932 Bytes
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
int twoStacks(int maxSum, vector<int> a, vector<int> b) {
long long int c = 0,s=0,asize=0,bsize=0;
//char op='a';
//if(s+a[asize]<=maxSum)
//s = s+a[asize++];c++;
while(s<=maxSum &&asize<a.size()&&bsize<b.size())
{
if(b[bsize]<=a[asize])
{
s = s+b[bsize++];
if(s<=maxSum)
c++;
cout<<s<<"removed"<<b[bsize-1]<<"\n";
}
else if(a[asize]<b[bsize]) {
s = s+a[asize++];
if(s<=maxSum)
c++;
cout<<s<<"removed"<<a[asize-1]<<"\n";
}
}
while(s<=maxSum && asize<a.size())
{
s = s+a[asize++];
if(s<=maxSum)
c++;
}
while(s<=maxSum && bsize<b.size())
{
s = s+b[bsize++];
if(s<=maxSum)
c++;
}
cout<<c;
return c;
}