Помогите найти ошибку

Дан массив aa из nn элементов. Перенесите ss-й элемент массива на место kk-го элемента (s>k)(s>k). При этом kk-й, (k+1)(k+1)-й, … , (s−1)(s−1)-й элементы сдвинуть вправо на 1 позицию.

#include <iostream>
 
using namespace std;
 
int main()
{
  int n,s,k;
  cin >> n;
  int a[n];
  for (int i = 0; i < n; i++) {
    cin >> a[i];
  }
  cin >> k >> s;

int tmp = a[k];
for (int i = k; i < s; i++)
 a[i] = a[i + 1]; 
a[s] = tmp; 
  for (int i = 0; i < n; i++) 
    cout << a[i] << " ";
}

Так а проблема в чем, как проявляется?

Что-то тут не то с обозначениями. Может лучше фото выложить если задание не в виде этого текста дано )

Input

5
4 5 3 1 2
3 1

Correct

4 1 5 3 2

Output

5 3 4 1 2

  1. 1 меняем с 5 местами - 4 1 3 5 2
  2. а дальше что куда сдвигаем? k+1 = s-1 = 3