fork download
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8. int n, m;
  9. int count = 0;
  10. int num;
  11. int big;
  12. vector<int> nums1, nums2;
  13.  
  14. cin >> n;
  15. cin >> m;
  16.  
  17. while(count < n)
  18. {
  19. cin >> num;
  20. nums2.push_back(num);
  21. count++;
  22. cout << num << " ";
  23. }
  24. cout << endl;
  25. count = 0;
  26. while (count < n+m)
  27. {
  28. cin >> num;
  29. nums1.push_back(num);
  30. count++;
  31. cout << num << " ";
  32. }
  33. cout << endl;
  34. m--;
  35. n--;
  36.  
  37. for (vector<int>::reverse_iterator ritr=nums1.rbegin(); ritr != nums1.rend(); ritr++)
  38. {
  39. if (m < 0)
  40. {
  41. //move the rest of the nums2
  42. for (; n >= 0; n--)
  43. {
  44. *ritr = nums2[n];
  45. cout << *ritr << endl;
  46. ritr++;
  47. }
  48. break;
  49. }
  50. else if (n < 0)
  51. {
  52. cout << *ritr << endl;
  53. }
  54. else
  55. {
  56. if (nums1[m] > nums2[n])
  57. {
  58. big = nums1[m];
  59. m--;
  60. }
  61. else
  62. {
  63. big = nums2[n];
  64. n--;
  65. }
  66. *ritr = big;
  67. cout << *ritr << endl;
  68. }
  69. }
  70. return 0;
  71. }
Success #stdin #stdout 0s 5512KB
stdin
3 3 4 5 6 1 2 3 0 0 0 
stdout
4 5 6 
1 2 3 0 0 0 
6
5
4
3
2
1