Why is the code giving runtme error?


#1

int Solution::solve(vector &A) {
int n=A.size(),s=0;
set l,r;
l.insert(A[0]);
for(int i=2;i<n;i++) r.insert(A[i]);
int a,b;
for(int i=1;i<n-1;i++){
auto it=l.upper_bound(A[i]-1);
if(it!=l.begin()) --it;
a=*it;
b=*r.rbegin();
if(a<A[i] and b>A[i]) s=max(a+b+A[i],s);
l.insert(A[i]);
r.erase(A[i]);
}
return s;
}