scara

Time limit: 0.2s Memory limit: 128MB Input: scara.in Output: scara.out

Avem NN persoane notate cu etichetele 1,2,...,N1,2,...,N, într-o ordine oarecare și o scară cu NN 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)(4,2,1,3) și scara=(0,0,0,0)(0,0,0,0)

Etapa 11: (4,2,1)/(3,0,0,0)(4,2,1)/(3,0,0,0)
Etapa 22: (4,2,3)/(0,1,0,0)(4,2,3)/(0,1,0,0)
Etapa 33: (4,2)/(3,1,0,0)(4,2)/(3,1,0,0)
Etapa 44: (4,3,1)/(0,0,2,0)(4,3,1)/(0,0,2,0)
Etapa 55: (4,3)/(1,0,2,0)(4,3)/(1,0,2,0)
Etapa 66: (4,1)/(0,3,2,0)(4,1)/(0,3,2,0)
Etapa 77: (4)/(1,3,2,0)(4)/(1,3,2,0)
Etapa 88: (1,3,2)/(0,0,0,4)(1,3,2)/(0,0,0,4)
...
Final: ()/(3,2,1,4)()/(3,2,1,4)

Cerinţă

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 NN. Pe a doua linie se află scrise NN numere naturale separate prin câte un spaţiu, reprezentând etichetele celor NN 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 NN numere naturale reprezentând etichetele persoanelor corespunzătoare așezării pe scară.

Restricții și precizări

  • 1N2 0001 \leq N \leq 2 \ 000;
  • Pentru 2222 puncte N15N \leq 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,0),
(4,2,1)/(3,0,0,0)(4,2,1)/(3,0,0,0),
(4,2,3)/(0,1,0,0)(4,2,3)/(0,1,0,0),
(4,2)/(3,1,0,0)(4,2)/(3,1,0,0)
(4,3,1)/(0,0,2,0)(4,3,1)/(0,0,2,0)
(4,3)/(1,0,2,0)(4,3)/(1,0,2,0),
(4,1)/(0,3,2,0)(4,1)/(0,3,2,0),
(4)/(1,3,2,0)(4)/(1,3,2,0),
(1,3,2)/(0,0,0,4)(1,3,2)/(0,0,0,4),
(1,3)/(2,0,0,4)(1,3)/(2,0,0,4),
(1,2)/(0,3,0,4)(1,2)/(0,3,0,4),
(1)/(2,3,0,4)(1)/(2,3,0,4),
(2,3)/(0,0,1,4)(2,3)/(0,0,1,4),
(2)/(3,0,1,4)(2)/(3,0,1,4),
(3)/(0,2,1,4)(3)/(0,2,1,4),
()/(3,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,0),
(2,3)/(1,0,0)(2,3)/(1,0,0),
(2,1)/(0,3,0)(2,1)/(0,3,0),
(2)/(1,3,0)(2)/(1,3,0),
(1,3)/(0,0,2)(1,3)/(0,0,2),
(1)/(3,0,2)(1)/(3,0,2),
(3)/(0,1,2)(3)/(0,1,2),
()/(3,1,2)()/(3,1,2)

Log in or sign up to be able to send submissions!