Қайталаулар


Шешімді жөнелту

Ұпайлар: 100 (partial)
Уақыт шектеуі: 1.0s
Жад шектеуі: 256M

Author:
Problem type
Рұқсат етілген тілдер
Assembly, Awk, Brain****, C, C++, Go, Java, Pascal, Perl, PHP, Python, Sed, Text

Сізге \(N\) оң сандарынан тұратын \(A = (A_1, A_2, \dots, A_N)\) тізбегі берілген. \(B = (B_1, B_2, \dots, B_N)\) тізбегін мынадай түрде табыңыз:

  • \(i = 1, 2, \dots, N\) үшін \(B_i\) келесідей анықталады:

    • \(B_i\) — \(A_i\) элементінің \(i\) позициясынан бұрынғы соңғы рет кездескен позициясы болсын. Нақтырақ айтқанда, егер \(j < i\) және \(A_j = A_i\) шартын қанағаттандыратын \(j\) бар болса, онда \(B_i = j\).

    • Егер мұндай \(j\) болмаса, \(B_i = -1\) деп есептеңіз.

Енгізу

  • Бірінші жолда бір бүтін сан \(N\) \((1 \leq N \leq 2 \times 10^5)\).

  • Екінші жолда \(A_1, A_2, \dots, A_N\) \((1 \leq A_i \leq 10^9)\) бүтін сандары.

Шығару

\(B\) тізбегінің \(N\) элементін бос орындармен бөлінген түрде шығарыңыз.

Мысалдар

Енгізу 1
5
1 2 1 1 3
Жауап 1
-1 -1 1 3 -1

Ескертпелер

Бұл мысалда:

  • \(i = 1\) үшін \(A_1 = 1\). Бұрын \(1\) кездеспеген, сондықтан \(B_1 = -1\).

  • \(i = 2\) үшін \(A_2 = 2\). Бұрын \(2\) кездеспеген, сондықтан \(B_2 = -1\).

  • \(i = 3\) үшін \(A_3 = 1\). Бұрын \(1\) 1-ші позицияда кездескен, сондықтан \(B_3 = 1\).

  • \(i = 4\) үшін \(A_4 = 1\). Бұрын \(1\) 3-ші позицияда кездескен, сондықтан \(B_4 = 3\).

  • \(i = 5\) үшін \(A_5 = 3\). Бұрын \(3\) кездеспеген, сондықтан \(B_5 = -1\).


Пікірлер

Қазіргі уақытта ешқандай пікір жоқ.