시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB138654.545%

문제

Hektor zainteresował się niedawno grą na giełdzie - świat akcji, obligacji, kursów i dywidend jest skomplikowany i pełen liczb, co czyni z niego idealnego kandydata na nowe hobby naszego bohatera.

Hektor dysponuje historią notowań pewnej spółki w postaci listy liczb naturalnych opisujących wartość kursu spółki na kolejnych notowaniach. Dla każdego notowania na liście Hektor chciałby obliczyć, kiedy (licząc od momentu rozważanego notowania) kurs spółki po raz pierwszy przekroczył kurs z tego dnia (tj. formalnie: dla każdej pozycji x na liście Hektor chciałby znać najmniejsze y, które jest większe od x i jednocześnie takie, że kurs na pozycji y był większy od kursu na pozycji x).

Czy potrafisz przygotować program, który będzie realizował takie obliczenia?

입력

W pierwszej linii wejścia znajduje się liczba naturalna Z ( 1 <= Z <= 10 ) opisująca liczbę zestawów testowych. Następnie opisywane są kolejne zestawy.

Pierwsza linia opisu zestawu testowego zawiera liczbę naturalną N ( 1 <= N <= 1000000), oznaczającą długość listy Hektora.

W drugiej linii opisu zestawu znajduje się N oddzielonych spacjami liczb naturalnych ki ( 1 <= ki <= 1000000000) oznaczających wysokość kursu spółki na kolejnych notowaniach.

출력

Dla każdego testu należy w osobnej linii wypisać N oddzielonych spacjami liczb całkowitych odpowiadających wpisom na liście Hektora. Dla pozycji, dla których istnieje dalsze notowanie o wyższym kursie, należy wypisać numer pierwszego takiego notowania; przy czym kolejne notowania na liście numerujemy od 0. Dla pozostałych pozycji należy wypisać liczbę -1.

예제 입력 1

3
3
1 2 3
3
3 2 1
3
2 1 3

예제 출력 1

1 2 -1
-1 -1 -1
2 2 -1

출처

Contest > Spot > HotSpot 2011 2-1번