askarulytarlan

regional

Dec 6th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int n, a[100500], lef[100500], righ[100500], l_sz, r_sz, l_b, r_b, l, r, cnt, m;
  6.  
  7. int main(){
  8. cin >> n;
  9. for(int i = 0; i < n; i++){
  10. cin >> a[i];
  11. if(n % 2 == 1){
  12. if(i <= n / 2){
  13. lef[i] = a[i];
  14. l_sz++;
  15. }
  16. else{
  17. righ[i] = a[i];
  18. r_sz++;
  19. }
  20. }
  21. else{
  22. if(i <= n / 2 - 1){
  23. lef[i] = a[i];
  24. l_sz++;
  25. }
  26. else{
  27. righ[i] = a[i];
  28. r_sz++;
  29. }
  30. }
  31. }
  32. if(n % 2 == 1){
  33. l_b = n / 2;
  34. r_b = n / 2 + 1;
  35. }
  36. else{
  37. l_b = n / 2 - 1;
  38. r_b = n / 2;
  39. }
  40. l = 0;
  41. r = n - 1;
  42. //cout << l_sz << " " << r_sz << endl;
  43. while(true){
  44. if(l_sz + r_sz <= 0){
  45. break;
  46. }
  47. if(cnt % 3 == 0 ){
  48. if(l_sz <= 0){
  49.  
  50. }
  51. else{
  52. cout << lef[l] << " ";
  53. l_sz--;
  54. l++;
  55. }
  56. }
  57. if(cnt % 3 == 2){
  58. //cout << l_sz << " " << r_sz << " " << 10 << endl;
  59. if(l_sz >= r_sz){
  60. cout << lef[l_b] << " ";
  61. l_sz--;
  62. l_b--;
  63. }
  64. else{
  65. cout << righ[r_b] << " ";
  66. r_sz--;
  67. r_b++;
  68. }
  69. }
  70. if(cnt % 3 == 1){
  71. if(r_sz <= 0){
  72.  
  73. }
  74. else{
  75. cout << righ[r] << " ";
  76. r_sz--;
  77. r--;
  78. }
  79. }
  80. cnt++;
  81. }
  82.  
  83. return 0;
  84. }
Add Comment
Please, Sign In to add comment