CCCPaste

Untitled

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
using namespace std;
typedef long long ll;
int main() {
    ios_base::sync_with_stdio(false);
    int n;
    cin >> n;
    vector v(n);
    set s;
    for(int i = 0; i < n; i++) {
        cin >> v[i];
    }
    for(int i = 0; i < n - 1; i++) {
        s.insert(v[i]);
    }
    ll result = 1e18;
    for(int i = n - 1; i > 0; i--) {
        set::iterator it = s.lower_bound(v[i] + 1);
        if(it != s.end()) {
            result = min(result, *it - v[i]);
        }
        s.erase(s.lower_bound(v[i - 1]));
    }
    cout << result << endl;
    return 0;
}