#include <bits/stdc++.h>
using namespace std;
const int N=5e5+10;
int a[N];
void solve()
{
int n,t;
cin>>n>>t;
long long sm=0;
for(int i=0;i<n;i++)
{
cin>>a[i];
a[i]%=t;
sm+=(long long)a[i];
// cout<<a[i]<<' ';
}
sm/=(long long)n;
// cout<<endl;
// cout<<sm<<endl;
int ans=t+100;
// for(int k=0;k<n;k++)
{
int j=sm;
{
int cur=0;
for(int i=0;i<n;i++)
{
cur=max(cur,min({abs(j-a[i]),abs(j-a[i]-t),abs(j+t-a[i])}));
}
ans=min(ans,cur);
}
j=sm+t/2;
{
int cur=0;
for(int i=0;i<n;i++)
{
cur=max(cur,min({abs(j-a[i]),abs(j-a[i]-t),abs(j+t-a[i])}));
}
ans=min(ans,cur);
}
j=sm-t/2;
{
int cur=0;
for(int i=0;i<n;i++)
{
cur=max(cur,min({abs(j-a[i]),abs(j-a[i]-t),abs(j+t-a[i])}));
}
ans=min(ans,cur);
}
}
cout<<ans<<endl;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t=1;
// cin>>t;
while(t--)
{
solve();
}
}
# | 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... |