fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. mt19937_64 rd(time(0));
  5. int rand(int L, int R){
  6. return L + rd() % (R - L + 1);
  7. }
  8.  
  9. void brick_sort(int* arr, int length){
  10. for(int i = 0; i < length - 1; i += 2){
  11. if(arr[i] < arr[i + 1]) swap(arr[i], arr[i + 1]);
  12. }
  13.  
  14. for(int i = 1; i < length - 1; i += 2){
  15. if(arr[i] < arr[i + 1]) swap(arr[i], arr[i + 1]);
  16. }
  17. }
  18.  
  19. bool isSorted(int* arr, int length){
  20. for(int i = 1; i < length; i++){
  21. if(arr[i - 1] < arr[i]) return 0;
  22. }
  23.  
  24. return 1;
  25. }
  26.  
  27. int n, arr[10000];
  28.  
  29. int main(){
  30. ios_base::sync_with_stdio(0);
  31. cin.tie(0); cout.tie(0);
  32.  
  33. cin >> n;
  34. for(int i = 0; i < n; i++) cin >> arr[i];
  35.  
  36. while(!isSorted(arr, n)){
  37. brick_sort(arr, n);
  38. }
  39.  
  40. for(int i = 0; i < n; i++) cout << arr[i] << ' ';
  41.  
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0s 5308KB
stdin
Standard input is empty
stdout
Standard output is empty