#include <bits/stdc++.h>
using namespace std;
#define int long long
int inf=1e12;
signed main() {
ios::sync_with_stdio(0);
cin.tie(NULL);
int n,t;
cin>>n>>t;
pair<int,int> a[n*2];
for(int i=0; i<n; i++){
cin>>a[i].first;
a[i].first%=t;
a[i].second=i;
a[i+n].first=a[i].first+t;
a[i+n].second=i;
}
bool b[n+5]={0};
sort(a,a+2*n);
// for(int i=0; i<3*n; i++){
// cout<<a[i].first<<" ";
// }
// cout<<endl;
map<int,int> mp;
int ans=1e18;
multiset<int> s;
// map<int,int> hmp;
for(int i=0; i<2*n; i++){
if(mp.find(a[i].second)==mp.end()){
mp[a[i].second]=a[i].first;
s.insert(a[i].first);
}
else{
s.erase(s.find(mp[a[i].second]));
mp[a[i].second]=a[i].first;
s.insert(a[i].first);
}
if(s.size()>=n){
auto it=s.end();
it--;
ans=min(ans,*it-*s.begin());
}
}
cout<<ans/2+ans%2<<endl;
// cout<<ans<<endl;
}
# | 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... |