tak to bywa, gdy się deklaruje tablice o zbyt małej liczbie elementów
li = new int[n-1]
nie oznacza deklaracji tablicy o elementach od 0 do n-1, ale o n-1 elementach, więc od 0 do n-2
w efekcie zmienia jest zawartość pamięci poza deklarowaną, wynik jest różny w zależności od kompilatora
generalnie - jeżeli nie jest to w istotny sposób wskazane - używamy tablic statycznych o maksymalnej wielkości, jak podano w warunkach zadania (ta zasada dotyczy zadań na spoj-u, a nie w rzeczywistych programach)