Tablice zadeklarowane w ten sposób to tak zwane Variable Length Arrays (VLA). Nie są częścią standardu języka C++, natomiast są akceptowane przez gcc /clang.
Generalnie lepiej ich unikać, w szczególności jeśli potrzebna będzie większa ilość pamięci, ponieważ alokowane są na stosie który zazwyczaj jest zdecydowanie mniejszy niż sterta. Nie wspominając o braku możliwości wykrycia nieudanej alokacji (to z punktu widzenia SPOJa to nie jest specjalnie istotne).