fork download
  1. #include<iostream>
  2. #include<algorithm>
  3. using namespace std;
  4. const int SIZE = 200000;
  5. int a[SIZE];
  6. int main() {
  7. int N;
  8. cin >> N;
  9. for(int i = 0; i < N; i++) cin >> a[i];
  10. for(int i = 0; (1 << i) < N; i++) {
  11. int len = 1 << i;
  12. for(int j = 0; j + len < N; j += len * 2) {
  13. cout << j << " " << j + len << endl;
  14. inplace_merge(a + j, a + j + len, a + min(N, j + len * 2));
  15. }
  16. }
  17. for(int i = 0; i < N; i++) cout << a[i] << (i + 1 < N ? ' ' : '\n');
  18. }
Success #stdin #stdout 0.01s 5288KB
stdin
3
1 4 2
stdout
0 1
0 2
1 2 4