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