constexpr int N = 200005;
int a[N];
set<int> s;
signed main(){
int n, l;
cin>>n>>l;
for(int i = 1; i <= n; i++) cin>>a[i];
int ans = inf;
for(int i = 1; i <= n; i++){
s.insert(l - a[i]);
}
int mi = inf;
for(int i = 1; i <= n; i++){
set<int>::iterator it=s.lower_bound(a[i]);
set<int>::iterator it2=it;
if(it!=s.begin()) it--;
if(it2==s.end()) it2--;
mi = min(mi, abs(a[i] - *it));
mi = min(mi, abs(a[i] - *it2));
}
ans = min(ans, mi * 2 + l * 2);
cout<<ans<<endl;
return 0;
}
思路好像没问题但却WA了, 是哪里写挂了吗?