roata

Time limit: 0.1s Memory limit: 4MB Input: roata.in Output: roata.out

Cei NN elevi participanți la olimpiadă au fost invitați să admire panorama orașului din roata cu NN locuri instalată în Orășelul Copiilor. Fiecare elev poartă un tricou inscripționat cu un număr natural, numerele de pe tricouri fiind diferite două câte două și având valori cuprinse între 11 și NN. Inițial, ei ocupă toate cele NN locuri din roată, începând cu cel mai de jos scaun și continuând cu următoarele scaune, în sensul acelor de ceasornic.

Roata se mișcă circular, în sensul acelor de ceasornic, cu un număr de poziții, se oprește și elevul aflat pe scaunul cel mai de jos coboară. În continuare, ea se rotește în același sens, un număr mai mare de poziții, apoi se oprește și coboară elevul aflat pe scaunul cel mai de jos și așa mai departe până când coboară toți elevii.

Cerință

Cunoscându-se numărul NN de elevi, precum și numerele de pe tricouri, în ordinea în care elevii se află inițial în roată, să se determine NN numere reprezentând pozițiile cu care roata se mișcă circular pentru a coborî fiecare elev, astfel încât elevii să coboare din roată în ordinea crescătoare a numerelor de pe tricou.

Cele NN numere de poziții trebuie să fie în ordine strict crescătoare, iar numărul total de poziții trebuie să
fie minim.

Date de intrare

Din fișierul roata.in se citește de pe prima linie NN, reprezentând numărul de elevi, și apoi se citesc de pe linia a doua NN numere naturale distincte, separate prin câte un spațiu, reprezentând numerele de pe tricouri.

Date de ieșire

În fișierul roata.out se vor scrie NN numere, în ordine strict crescătoare, reprezentând numerele de poziții cerute.

Restricții și precizări

  • 2N50 0002 \leq N \leq 50 \ 000;
  • Pentru 50%50\% din punctaj, 2N1 0002 \leq N \leq 1 \ 000;
  • Dacă, inițial, elevul cu tricoul inscripționat cu 11 se află în scaunul cel mai de jos al roții, el va coborî după ce roata se va mișca NN poziții și va ajunge din nou pe scaunul cel mai de jos.

Exemplu

roata.in

6
6 1 3 4 5 2

roata.out

5 8 9 11 17 22

Explicație

Inițial, elevii sunt așezați în sensul acelor de ceasornic, începând cu elevul cu tricoul 66, care ocupă scaunul de jos.

  1. Rotindu-se 55 poziții în sensul acelor de ceasornic, elevul cu tricoul 11 ajunge pe scaunul de jos și coboară.

  1. Rotindu-se 88 poziții în sensul acelor de ceasornic, elevul cu ricoul 22 ajunge pe scaunul de jos și coboară.

  1. Rotindu-se 99 poziții în sensul acelor de ceasornic, elevul cu tricoul 33 ajunge pe scaunul de jos și coboară.

  1. Rotindu-se 1111 poziții în sensul acelor de ceasornic, elevul cu tricoul 44 ajunge pe scaunul de jos și coboară.

  1. Rotindu-se 1717 poziții în sensul acelor de ceasornic, elevul cu tricoul 55 ajunge pe scaunul de jos și coboară.

  1. Rotindu-se 2222 de poziții în sensul acelor de ceasornic, ultimul elev, cu tricoul 66, ajunge pe scaunul de jos și coboară.

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