fork download
  1.  
  2. var
  3. n, i, p, l, r, s : Integer;
  4. a : array [1..100] of Integer;
  5.  
  6. begin
  7. ReadLn(n);
  8. for i := 1 to n do
  9. Read(a[i]);
  10.  
  11. ReadLn(p);
  12.  
  13. l := 1; r := n;
  14. while l < r do begin
  15. s := (l+r) div 2;
  16. if a[s] < p then
  17. l := s+1
  18. else
  19. r := s
  20. end;
  21.  
  22. Move(a[l], a[l+1], (n-l+1)*SizeOf(Integer));
  23. a[l] := p;
  24.  
  25. for i := 1 to n+1 do
  26. Write(a[i], ' ')
  27. end.
  28.  
  29.  
Success #stdin #stdout 0s 276KB
stdin
5 
1 2 3 4 5 
3
stdout
1 2 3 3 4 5