Advertisement
Guest User

NikolaevMisha/1.2

a guest
Oct 18th, 2018
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.15 KB | None | 0 0
  1.     #include <iostream>
  2.  
  3.     void incut(int* x, int* y,  int start , int finish)
  4.     {
  5.         for(int i = start; i < finish; ++ i)
  6.         {
  7.             int a = x[i];
  8.             int b = y[i];
  9.             int j = i - 1;
  10.             for(;j >= start - 1 && a < x[j] ; --j)
  11.             {
  12.                 x[j+1] = x[j];
  13.                 y[j+1] = y[j];
  14.             }
  15.             x[j+1] = a;
  16.             y[j+1] = b;
  17.  
  18.         }
  19.  
  20.     }
  21.  
  22.     int main()
  23.     {
  24.         int n;
  25.         std::cin >> n;
  26.         int X[n];
  27.         int Y[n];
  28.         for(int i = 0; i < n; ++ i)
  29.         {
  30.             std::cin >> X[i];
  31.             std::cin >> Y[i];
  32.         }
  33.         incut(X , Y , 1 , n);
  34.  
  35.  
  36.         int start = 0;
  37.         int finish = 0;
  38.         while(start < n)
  39.         {
  40.             while(finish < n && X[finish] == X[finish + 1])
  41.             {
  42.                 ++finish;
  43.             }
  44.             incut(Y , X , start + 1 , finish + 1);
  45.             ++finish;
  46.             start = finish;
  47.  
  48.         }
  49.  
  50.         for(int i = 0; i < n; ++ i)
  51.         {
  52.             std::cout << X[i] << " " << Y[i] << '\n';
  53.         }
  54.         return 0;
  55.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement