Problem sa kodom

Pitanje ili opis problema

Ne radi mi kod. Ako neko može da mi kaže šta treba ispraviti u mom kodu. Test primer iz zadatka i na privatnim test primerima mi kod radi, ali na grader-u mi za sve izbacuje WA.

ovo je moj kod

#include <bits/stdc++.h>
using namespace std;
int main(){
std::ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
int a[n];
for(int i=0; i<n; i++){
cin>>a[i];
}
sort(a, a+n);
if(n%2==0){
for(int i=-2; i<n/2; i+=2){
cout<<a[i+2]<<endl;
}
for(int i=n+1; i>=n/2; i=i-2){
cout<<a[i-2]<<endl;
}
}else{
for(int i=-2; i<=n/2+1; i+=2){
cout<<a[i+2]<<endl;
}
for(int i=n-1; i>=n/2-1; i=i-2){
cout<<a[i-1]<<endl;
}
}
return 0;
}

Link ka zadatku ili odgovarajućoj stranici

https://petlja.org/biblioteka/r/problemi/zbirka-napredni-nivo/cik_cak_selekcija

Promeni for petlje, nisu tacne, probaj sam da popravis , neki od test primera koji ne rade su:
1
1
zatim:
1
1
2
(uvek probaj najmanje test primere)
Takodje nije dobro da definises niz kao a[n], mnogo je bolje ako stavis konstantu u ovom slucaju a[1001] ili vise, i nizove velikih dimenzija definisi izvan main().
Ovo je moj kod:

#include <bits/stdc++.h>
using namespace std;

int a[1001];

int main()
{
std::ios::sync_with_stdio(false);
cin.tie(0);

int n,i;
cin>>n;

for(int i=0; i<n; i++) cin>>a[i];
sort(a,a+n);

if(n%2==0)
{
for(i=0; i<n; i+=2) cout<<a[i]<<endl;
for(i=n-1; i>=1; i=i-2) cout<<a[i]<<endl;
}
else
{
for(int i=0; i<n; i+=2) cout<<a[i]<<endl;
for(int i=n-2; i>=1; i=i-2) cout<<a[i]<<endl;
}

return 0;
}

Radi, hvala na savetima.