This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int INF = 1e18;
signed main() {
    ios::sync_with_stdio(0); cin.tie(0);
    int n;
    cin >> n;
    int a[n+2];
    for (int i=1;i<=n;i++) cin >> a[i];
    set<int> s;
    int q;
    cin >> q;
    while (q--) {
        for (int i=1;i<=n;i++) s.insert(a[i]);
        s.insert(-INF); s.insert(INF);
        int x;
        cin >> x;
        int ans = 0, cnt = 0;
        bool right = true;
        while (s.size() > 2) {
            int l = *prev(s.lower_bound(x));
            int r = *s.lower_bound(x);
            if (abs(x-l) <= abs(r-x)) {
                if (right) cnt++;
                ans += abs(x-l);
                x = l;
                s.erase(l);
                right = false;
            } else {
                if (!right) cnt++;
                ans += abs(r-x);
                x = r;
                s.erase(r);
                right = true;
            }
        }
        cout << ans << endl;
        assert(cnt <= 32);
    }
}
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict  | Execution time | Memory | Grader output | 
|---|
| Fetching results... |