Help me in solving KEEPOUT problem

My issue

can anyone please explain the 3rd testcase and it’s output?

My code

#include <bits/stdc++.h>
using namespace std;

int main() {
	int t;
	cin>>t;
	while(t--){
	    int n,m;
	    cin>>n>>m;
	    multiset<int>s;
	    s.insert(0);
	    s.insert(m);
	    int ans;
	    vector<int>out;
	    for(int i=0;i<n;i++){
	        int x;
	        cin>>x;
	        ans=INT_MIN;
	        auto l=s.lower_bound(x);
	        auto u=s.upper_bound(x);
	       // cout<<*l<<" "<<*u<<endl;
	        ans=max(x-*prev(l),*u-x);
	        s.insert(x);
	        out.push_back(ans);
	    }
	    
	   for(int i=0;i<n;i++){
	       cout<<out[i]<<" ";
	   }
	   cout<<endl;
	}
	return 0;
}

Problem Link: KEEPOUT Problem - CodeChef