#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
ll n, t;
cin >> n >> t;
vector<ll> a(n);
for (ll& i : a) cin >> i;
ll l = 0, r = t, ans = t;
while (l <= r) {
ll m = (l + r) / 2;
ll tls = 0, trs = t - 1, tle = 0, tre = t - 1;
ll tl = 0, tr = t - 1;
for (int x : a) {
tle = max(tle, (x - m + t) % t);
if (x % t - m >= 0)
tre = min(tre, x % t + m);
if (x % t + m <= t - 1)
tls = max(tls, x % t - m);
trs = min(tr, (x + m) % t);
tl = max(tl, x % t - m);
tr = min(tr, x % t + m);
}
if (tls <= trs || tle <= tre || tl <= tr)
r = m - 1, ans = m;
else
l = m + 1;
}
cout << ans;
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |