#include <iostream>
#include<string>
#include<cmath>
#include<map>
#include<iomanip>
#include<algorithm>
#include<vector>
#include<set>
#include<cstdio>
#include<stack>
#include<ctime>
#include<queue>
#include<deque>
#include<bitset>
#include<random>
#include<fstream>
#include<unordered_map>
#include<unordered_set>
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx,avx2,bmi,sse4,popcnt")
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
using namespace std;
using ll = long long;
using ld = long double;
using ull = unsigned long long;
mt19937 mt(52);
const int N = 5e5 + 2, inf = 1e9 + 100, mod = 1e9 + 7, P = 501928;
const ll llinf = 1e18 + 1000;
void solve() {
int n, k;
cin >> n >> k;
vector<int> a;
for (int i = 0; i < n; ++i) {
int x;
cin >> x;
a.push_back(x % k);
a.push_back(x % k + k);
}
sort(all(a));
int mx = 0;
for (int i = 0; i < n; ++i) mx = max(mx, a[i + 1] - a[i]);
cout << (k - mx + 1) / 2;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
int tt = 1;
//cin >> tt;
while (tt--) {
solve();
cout << '\n';
cout.flush();
}
return 0;
}
| # | 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... |