Потому, что вот это: int n;
int s[n];
cin >> n; бред, приводящий к ошибке "переполнение буфера" с непредсказуемым результатом.
Если уж хочешь массив в духе языка C, то СНАЧАЛА вводи значение n, а только ПОТОМ создавай переменную s: int n;
cin >> n;
int s[n];
Но это массив в стиле C - который не реальный массив, а синтаксический сахар над указателями и адресной арифметикой. А полноценный массив в C++ создаётся так: #include
...
int n;
cin >> n;
vector s;