fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. void fun(int j, vector<int> &v)
  5. {
  6. int ptr = v.size() -2 ;
  7. for(int i=ptr ; i>j ; i--)
  8. {
  9. v[i+1] = v[i];
  10. }
  11. }
  12.  
  13. void duplicateZeros(vector<int> &v)
  14. {
  15. int pointer = 0;
  16. for(int i=0 ;i < v.size() ;i++)
  17. {
  18. if(v[i] == 0)
  19. {
  20. fun(i, v);
  21. v[++i] =0;
  22. }
  23. }
  24. }
  25.  
  26. int main() {
  27. // your code goes here
  28. int n; cin >> n;
  29. vector<int> v(n);
  30. for(int i=0 ;i < n ;i++)
  31. {
  32. cin >> v[i];
  33. }
  34.  
  35.  
  36. duplicateZeros(v);
  37. for(auto x : v)
  38. {
  39. cout << x << " ";
  40. }
  41. return 0;
  42. }
Success #stdin #stdout 0.01s 5292KB
stdin
8
8 4 5 0 0 0 0 7
stdout
8 4 5 0 0 0 0 0