Nie nigdzie nie widziałem [nawet na SPOJ,u] takiego zalecenia:
"HALO, używaj zmiennych globalnych, bo są super!."
Wprost przeciwnie: http://discuss.spoj.com/t/dlaczego-zmienna-globalna-jest-fuj/21824
Jeżeli jednak twoim, czy twoim, priorytetem jest uzyskanie AC i tylko to, to w tym momencie zupełnie przestaje mieć znaczenie dobry styl programowania i staje się bez znaczenia czy używasz zmiennych globalnych, piszesz kod nie używając modułów, funkcji, klas, struktur, dobrych komentarzy i dobrych nazw zmiennych, używasz odstępów poziomych i pionowych itd.
ALE, ale, ale!! Spoj może służyć nie tylko do nauki algorytmów i pisania brzydkich kodów.
ALE, wtedy to już TY sam [czytelniku] musisz być swoim własnym sędzią lub prosić o ocenę swojego kodu i porady bardziej doświadczonego/ych kolegów.
PS
To, że u mnie [w code bloks, visual super duper 2019 itp] działa jest najstarszą wymówką programistów. To ma działać wszędzie indziej, a u Ciebie czy działa czy nie, jest w takim przypadku zupełnie bezznaczenia.
PS 2
To, że u Ciebie działa [w tym konkretnym przypadku], wynika z tego, że domyślnie w c/c++ nie są sprawdzane przekraczanie indeksów, czy inny dostęp do niezaalokowanej pamięci. Na SPOJ'u jest to sprawdzane w pierwszej kolejności i przy takiej próbie program jest od razu przerywany a nie dopiero gdy [może] spowoduje to problemy i "samodzielne" wysypanie się programu. Dlaczego u Ciebie nie wysypuje się? Problem polega na tym, że takie zachowanie nie zawsze kończy się katastrofową [małe słabe testy], ale..., ale, [] w sprzyjających okolicznościach tak - np odpowiednio duży test.
PS 3
Sorry, za braki lub nadmiar ',' w powyższym tekście