#include <bits/stdc++.h>
using namespace std;
int main() {
cin.tie(nullptr)->sync_with_stdio(false);
int n, t;
cin >> n >> t;
vector<int> a(n);
for (int& i : a) cin >> i;
int l = 0, r = t / 2, ans = t / 2;
while (l <= r) {
int m = (l + r) / 2;
bool canS = true, canE = true;
int tl = 0, tr = t - 1;
for (int x : a) {
if (x % t - m > 0 && x % t + m <= t - 1)
canS = false;
if (x % t + m < t - 1 && x % t - m >= 0)
canE = false;
tl = max(tl, x % t - m);
tr = min(tr, x % t + m);
}
if (canS || canE || 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... |