func_code_string: #include <bits/stdc++.h>   using namespace std;   int n, s1, s2;   int x[100001];   bool C(int v) {     if (abs(s1 - s2) > v) return false;     set<int> st;     st.insert(s1);     int pos = s2;     for (int i = 0; i < n; i++) {       if (st.size()) {         st.insert(pos);       }       while (st.size() && abs(*st.begin() - x[i]) > v) {         st.erase(*st.begin());       }       while (st.size() && abs(*st.rbegin() - x[i]) > v) {         st.erase(*st.rbegin());       }       pos = x[i];     }     if (st.empty()) return false;     return true;   }   int main(void) {     scanf( %d%d%d , &n, &s1, &s2);     for (int i = 0; i < n; i++) {       scanf( %d , &x[i]);     }     int l = -1, r = 1000000007;     while (l + 1 < r) {       int mid = (l + r) / 2;       if (C(mid))         r = mid;       else         l = mid;     }     printf( %d n , r);     return 0;   }   