fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. signed main(){
  4. int x, n;
  5. cin >> x >> n;
  6. set<int> st;
  7. multiset<int> dis;
  8. st.insert(0);
  9. st.insert(x);
  10. dis.insert(x-0);
  11. for(int i = 0; i < n; i++){
  12. int p;
  13. cin >> p;
  14. auto it = st.insert(p);
  15. dis.insert(p-*prev(it.first, 1));
  16. dis.insert(*next(it.first, 1) - p);
  17. auto it1 = dis.lower_bound(*next(it.first, 1) - *prev(it.first, 1));
  18. dis.erase(it1);
  19. cout << *prev(dis.end(), 1) << " ";
  20. }
  21. }
  22. // 0 3 6 8
  23.  
  24. // 3 3 2
Success #stdin #stdout 0s 5292KB
stdin
8 3
3 6 2
stdout
5 3 3