/MAGPERM - Hoán vị thần kì

<Problem>

https://oj.luyencode.net/problem/MAGPERM
              //https://oj.luyencode.net/problem/MAGPERM

        #include <iostream>
        using namespace std;
        
        int main() {
          int n;
          int k;
          cin >> n >> k;
        
        
        
          if (k == 0) {
            for (int i = 1; i <= n; i++) {
              cout << i << " ";
            }
          }
          else if (n % (k * 2) == 0) {
            const int SIZE = 100000 + 1;
            int arr[SIZE] = { 0 };
        
            int start = 1;
            int end = k;
            while (end <= n) {
              for (int i = start; i <= end; i++) {
                arr[i] = i + k;
              }
              start = start + k + k;
              end = start + k - 1;
            }
        
            int c_start = n;
            int c_end = n - k + 1;
            while (c_start >= 1) {
              for (int i = c_start; i >= c_end; i--) {
                arr[i] = i - k;
              }
              c_start = c_start - k - k;
              c_end = c_start - k + 1;
            }
        
            for (int i = 1; i <= n; i++) {
              cout << arr[i] << " ";
            }
          }
          else {
            cout << "-1" << endl;
          }
          return 0;
        }