Avem N
persoane notate cu etichetele 1
, 2
, …, N
, într-o ordine oarecare și o scară cu N
trepte. Persoanele sunt așezate în șir indian, cu fața spre locul unde se află scara. Treptele scării sunt inițial neocupate. În mod repetat persoana aflată la acel moment la capătul din dreapta al șirului se poziționează pe scară pe prima treaptă neocupată, iar fiecare dintre persoanele aflate pe treptele inferioare coboară de pe scară și se repoziționează la capătul din dreapta al șirului, începând cu cea de la prima treaptă a scării. Acțiunea se oprește atunci când sunt ocupate toate treptele pe scară.
Exemplu: Inițial la etapa 0
avem sir=(4,2,1,3)
și scara=(0,0,0,0)
.
Etapa 1: (4,2,1) / (3,0,0,0)
Etapa 2: (4,2,3) / (0,1,0,0)
Etapa 3: (4,2) / (3,1,0,0)
Etapa 4: (4,3,1) / (0,0,2,0)
Etapa 5: (4,3) / (1,0,2,0)
Etapa 6: (4,1) / (0,3,2,0)
Etapa 7: (4) / (1,3,2,0)
Etapa 8: (1,3,2) / (0,0,0,4) ...
Final: ()/(3,2,1,4)
Cerința
Se cere să se afișeze etichetele persoanelor în ordinea în care acestea sunt așezate pe scară la final.
Date de intrare
În fișierul de intrare scara.in
se află scris pe prima linie numărul N
. Pe a doua linie se află scrise N
numere naturale separate prin câte un spațiu, reprezentând etichetele celor N
persoane, în ordinea inițială din șir, de la stânga spre dreapta.
Date de ieșire
În fișierul de ieșire scara.out
vor fi scrise pe prima linie și separate prin câte un spațiu cele N
numere naturale reprezentând etichetele persoanelor corespunzătoare așezării pe scară.
Restricții și precizări
1 ≤ N ≤ 2000
- Pentru
22
puncteN ≤ 15
Exemplul 1:
scara.in
4 4 2 1 3
scara.out
3 2 1 4
Explicație
(4,2,1,3)/(0,0,0,0)
, (4,2,1)/(3,0,0,0)
, (4,2,3)/(0,1,0,0)
, (4,2)/(3,1,0,0)
, (4,3,1)/(0,0,2,0)
, (4,3)/(1,0,2,0)
, (4,1)/(0,3,2,0)
, (4)/(1,3,2,0)
, (1,3,2)/(0,0,0,4)
, (1,3)/(2,0,0,4)
, (1,2)/(0,3,0,4)
, (1)/(2,3,0,4)
, (2,3)/(0,0,1,4)
, (2)/(3,0,1,4)
, (3)/(0,2,1,4)
, ()/(3,2,1,4)
.
Exemplul 2:
scara.in
3 2 3 1
scara.out
3 1 2
Explicație
(2,3,1)/(0,0,0)
, (2,3)/(1,0,0)
, (2,1)/(0,3,0)
, (2)/(1,3,0)
, (1,3)/(0,0,2)
, (1)/(3,0,2)
, (3)/(0,1,2)
, ()/(3,1,2)
.