#include <bits/stdc++.h>
#define int  long long
using namespace std;
int z[1000005];
int big,smol;
int max1=-1e18;
int min1=1e18;
set<int> s;
signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int a,b;
    cin >> a >> b;
    for (int i=1;i<=a;i++){
         cin >> z[i];
    }
    for (int i=1;i<=a;i++){
         z[i]= z[i]%b +b*(z[i]%b==0);
    }
    sort(z+1,z+1+a);
    for (int i=1;i<=a;i++){
         s.insert(z[i]);
    }
    int res=0;
    auto it1=s.begin();
    int pre=*it1%b;
    auto it2=s.rbegin();
    res= (*it2-*it1+1)/2;
    s.insert(*it1+b);
    s.erase(it1);
    while (*s.begin()%b!=pre){
          it1=s.begin();
          int pre=*it1%b;
          auto it2=s.rbegin();
          res= min(res,(*it2-*it1+1)/2);
          s.insert(*it1+b);
          s.erase(it1);
    }
    cout << res << "\n";
    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... |