#include <bits/stdc++.h>
using namespace std;
#define int long long
#define in(i) cin >> i
#define out(o) cout << o
// vector<int>
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int N, T;
in(N);
in(T);
vector<int> A(N);
for (int i = 0; i < N; ++i) in(A[i]);
for (int i = 0; i < N; ++i) A[i] %= T;
sort(A.begin(), A.end());
int ans = 0;
for (int i = 0; i < N; ++i) {
int up = (A[i] + (T + 1) / 2) % T;
auto it = lower_bound(A.begin(), A.end(), up);
if (it == A.end()) it = A.begin();
int first = *it;
int first_dist = (abs(A[i] - first) + T) % T;
ans = max(ans, min(first_dist, T - first_dist));
if (it == A.begin()) it = --A.end();
else --it;
int second = *it;
int second_dist = (abs(A[i] - second) + T) % T;
ans = max(ans, min(second_dist, T - second_dist));
}
out((ans + 1) / 2);
}
# | 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... |