Fişierul intrare/ieşire:roata1.in, roata1.outSursăONI 2019 clasa a 6-a
AutorRodica PinteaAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.6 secLimită de memorie4096 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Roata1 (clasa a 6-a)

Cei N elevi participanţi la olimpiadă au fost invitaţi să admire panorama oraşului din roata cu N 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 1 şi N. Iniţial, ei ocupă toate cele N 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ţe

Cunoscându-se numărul N de elevi, precum şi numerele de pe tricouri, în ordinea în care elevii se află iniţial în roată, să se determine N 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 N 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 roata1.in se citeşte de pe prima linie N, reprezentând numărul de elevi, şi apoi se citesc de pe linia a doua N numere naturale distincte, separate prin câte un spaţiu, reprezentând numerele de pe tricouri.

Date de ieşire

În fişierul roata1.out se vor scrie N numere, în ordine strict crescătoare, reprezentând numerele de poziţiile cerute.

Restricţii

  • 2 ≤ N ≤ 50000;
  • pentru 50% din punctaj, 2 ≤ N ≤ 1000;
  • dacă, iniţial, elevul cu tricoul inscripţionat cu 1 se află în scaunul cel mai de jos al roţii, el va coborî după ce roata se va mişca N poziţii şi va ajunge din nou pe scaunul cel mai de jos.

Exemplu

roata1.inroata1.out
6
6 1 3 4 5 2
5 8 9 11 17 22

Explicaţii

Iniţial, elevii sunt aşezaţi în sensul acelor de ceasornic, începând cu elevul cu tricoul 6, care ocupă scaunul de jos.
1) Rotindu-se 5 poziţii în
sensul acelor de
ceasornic, elevul cu
tricoul 1 ajunge pe
scaunul de jos şi coboară.
2) Rotindu-se 8 poziţii în
sensul acelor de
ceasornic, elevul cu
tricoul 2 ajunge pe
scaunul de jos şi coboară.
3) Rotindu-se 9 poziţii în
sensul acelor de
ceasornic, elevul cu
tricoul 3 ajunge pe
scaunul de jos şi
coboară.
4) Rotindu-se 11 poziţii în
sensul acelor de
ceasornic, elevul cu
tricoul 4 ajunge pe
scaunul de jos şi coboară.
5) Rotindu-se 17 poziţii în
sensul acelor de
ceasornic, elevul cu
tricoul 5 ajunge pe
scaunul de jos şi coboară.
6) Rotindu-se 22 de poziţii
în sensul acelor de
ceasornic, ultimul elev, cu
tricoul 6, ajunge pe
scaunul de jos şi coboară.
Trebuie sa te autentifici pentru a trimite solutii. Click aici